Chinese Information Extraction
Project description
CNN4IE
中文信息抽取工具。使用CNN的不同变体进行信息抽取,未来会持续加入不同模型。该项目使用pytorch,python开发。
CNN4IE根据CNN的各种改进版本,对不同模型块进行融合,并将其用于中文信息抽取中。
Guide
Intro
目前主要实现中文实体抽取:
训练样本以B、I、O形式进行标注。
Model
模型
- MultiLayerResCNN(src/mlrescnn):多层残差CNN(+CRF),此模型利用ConvSeq2Seq中的encoder部分进行多层叠加,后面可接CRF。
Usage
-
相关参数的配置
config.cfg,在训练或预测时加载此文件的位置。
-
训练(支持加载预训练的embedding向量)
from cnn4ie.mlrescnn.train import Train train = Train() train.train_model('config.cfg')
Epoch: 199 | Time: 0m 4s Train Loss: 228.545 | Train PPL: 1.802960293422957e+99 Val. Loss: 433.577 | Val. PPL: 1.9966207577208172e+188 Val. report: precision recall f1-score support 1 1.00 1.00 1.00 4539 2 0.98 0.99 0.99 4926 3 0.90 0.83 0.86 166 4 0.74 0.98 0.84 52 5 0.94 0.77 0.84 120 6 0.76 0.97 0.85 39 7 0.82 0.87 0.85 54 8 0.93 0.74 0.82 68 9 0.95 0.77 0.85 26 10 1.00 0.80 0.89 10 accuracy 0.98 10000 macro avg 0.90 0.87 0.88 10000 weighted avg 0.99 0.98 0.98 10000
-
预测
from cnn4ie.mlrescnn.predict import Predict predict = Predict() predict.load_model_vocab('config_cfg') result = predict.predict('据新华社报道,安徽省六安市被评上十大易居城市!') print(result)
[{'start': 7, 'stop': 13, 'word': '安徽省六安市', 'type': 'LOC'}, {'start': 1, 'stop': 4, 'word': '新华社', 'type': 'ORG'}]
Evaluate
评估采用的是P、R、F1、PPL等。评估方法可利用scikit-learn中的precision_recall_fscore_support或classification_report。
Install
- 安装:pip install CNN4IE
- 下载源码:
git clone https://github.com/jiangnanboy/CNN4IE.git
cd CNN4IE
python setup.py install
通过以上两种方法的任何一种完成安装都可以。如果不想安装,可以下载github源码包
Dataset
这里利用data(来自人民日报,识别的是[ORG, PER, LOC, T, O])中的数据进行训练评估,训练及评估结果见examples/mlrescnn,分为带预训练向量和不带预训练向量的训练结果。
预训练embedding向量:sgns.sogou.char.bz2
数据集的格式见data,分为train与dev,其中source与target为中文对应的实体标注。
数据被处理成csv格式。
Todo
持续加入更多模型......
Cite
如果你在研究中使用了CNN4IE,请按如下格式引用:
@software{CNN4IE,
author = {Shi Yan},
title = {CNN4IE: Chinese Information Extraction Tool},
year = {2021},
url = {https://github.com/jiangnanboy/CNN4IE},
}
License
CNN4IE 的授权协议为 Apache License 2.0,可免费用做商业用途。请在产品说明中附加CNN4IE的链接和授权协议。CNN4IE受版权法保护,侵权必究。
Reference
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file CNN4IE-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: CNN4IE-0.1.1-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.4.2 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e133041fa4732353a3d28141e2c05edbf38ee20ece3d0ae63703550992083b03 |
|
MD5 | 151b5dfec0f4ad50d1e5a059a69ab3ac |
|
BLAKE2b-256 | dbb245ff0d8740b4e25f3adc430f35a8b59613fd35dad9456992b1607dcc20e4 |