RNN4IE
中文信息抽取工具。使用RNN的不同结构进行信息抽取,该项目使用pytorch,python开发。
Guide
Intro
目前主要实现中文实体抽取:
训练样本以B、I、O形式进行标注。
Model
模型
- gru(rnn4ie/gru):此模型利用【gru + crf】进行实体抽取。
- gru_mhsa(rnn4ie/gru_mhsa):此模型利用【gru + multi-head-self-attention + crf】进行实体抽取。
- gru_sa(rnn4ie/gru_sa):此模型利用【gru + soft-attention + crf】进行实体抽取。
- gru_xca(rnn4ie/gru_xca):此模型利用【gru + cross-covariance-attention + crf】进行实体抽取。
Usage
-
配置文件
各个model在训练和预测时需加载不同的配置文件config.cfg,各个model的config.cfg内容见:
-
训练(支持加载预训练的embedding向量)
from rnn4ie.gru.train import Train train = Train() train.train_model('config.cfg') --------------------------------- from rnn4ie.gru_mhsa.train import Train train = Train() train.train_model('config.cfg') --------------------------------- from rnn4ie.gru_sa.train import Train train = Train() train.train_model('config.cfg') --------------------------------- from rnn4ie.gru_xca.train import Train train = Train() train.train_model('config.cfg') -
预测
from rnn4ie.gru.predict import Predict predict = Predict() predict.load_model_vocab('config_cfg') result = predict.predict('据新华社报道,安徽省六安市被评上十大易居城市!') --------------------------------- from rnn4ie.gru_mhsa.predict import Predict predict = Predict() predict.load_model_vocab('config_cfg') result = predict.predict('据新华社报道,安徽省六安市被评上十大易居城市!') --------------------------------- from rnn4ie.gru_sa.predict import Predict predict = Predict() predict.load_model_vocab('config_cfg') result = predict.predict('据新华社报道,安徽省六安市被评上十大易居城市!') --------------------------------- from rnn4ie.gru_xca.predict import Predict predict = Predict() predict.load_model_vocab('config_cfg') result = predict.predict('据新华社报道,安徽省六安市被评上十大易居城市!')
Evaluate
评估采用的是P、R、F1、PPL等。评估方法可利用scikit-learn中的precision_recall_fscore_support或classification_report。
Install
- 安装:pip install RNN4IE
- 下载源码:
git clone https://github.com/jiangnanboy/RNN4IE.git
cd RNN4IE
python setup.py install
通过以上两种方法的任何一种完成安装都可以。如果不想安装,可以下载github源码包
Dataset
这里利用data(来自人民日报,识别的是[ORG, PER, LOC, T, O])中的数据进行训练评估。
预训练embedding向量:sgns.sogou.char.bz2
数据集的格式见data,分为train与dev,其中source与target为中文对应的实体标注。
数据被处理成csv格式。
Todo
持续加入更多模型......
Cite
如果你在研究中使用了RNN4IE,请按如下格式引用:
@software{RNN4IE,
author = {Shi Yan},
title = {RNN4IE: Chinese Information Extraction Tool},
year = {2021},
url = {https://github.com/jiangnanboy/RNN4IE},
}
License
RNN4IE 的授权协议为 Apache License 2.0,可免费用做商业用途。请在产品说明中附加RNN4IE的链接和授权协议。RNN4IE受版权法保护,侵权必究。
Reference
Metadata
Release files for RNN4IE 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| RNN4IE-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / RNN4IE-0.1.0-py3-none-any.whl
| Download URL | RNN4IE-0.1.0-py3-none-any.whl |
|---|---|
| Size | 40.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d678023d1258cc2f42391e7c40b6b049313d0151ba9f73c4b85fd20daf77b44a
|
|
BLAKE2b-256 checksum How to use checksums |
9c39901cf5c6d614a66dbbdff0cc4fe25c2b1e6a678d8f7c9618f0f371a0bee4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|