项目简介
本项目是基于PyTorch实现的中文命名实体识别(NER)系统,支持Bert、RoBerta、ernie、albert等模型,具备开箱即用的特点。使用包含8大类别的中文数据集CNER,并将原始数据转换为csv格式,方便统计和处理。
项目的主要特性和功能
- 多模型支持:支持Bert、RoBerta、ernie、albert等多种预训练模型。
- 数据处理:可将原始的txt格式数据转换为csv格式,便于后续处理和分析。
- 训练与评估:提供训练脚本
train.py
和测试脚本test.py
,并生成训练集、验证集正确率曲线和loss下降曲线。 - 预测功能:提供终端输入文本进行预测的脚本
infer.py
,以及基于Flask的API接口api.py
。 - 数据集更换:支持更换自己的数据集,只需在指定目录下按要求放置数据并修改配置文件即可。
安装使用步骤
1. 环境准备
确保已安装Python和必要的依赖库,如PyTorch、Flask等。
2. 数据准备
- 若使用默认数据集,无需额外操作。
- 若要使用自己的数据集:
- 在
data
目录下建立和med_data
一样的文件夹,包含train.csv
、test.csv
、dev.csv
、label2id.json
。 - 在
config.py
中修改dir_name
。
3. 训练模型
运行以下命令进行模型训练:
sh
python train.py
训练完成后,会在data/med_data
目录下生成正确率和loss曲线。
4. 终端预测
运行以下命令,在终端输入文本进行预测:
sh
python infer.py
需注意,infer.py
中的参数需要重新配置,且该文件不依赖其他文件。
5. 整体测试
运行以下命令对test.csv
文件进行整体测试:
sh
python test.py
测试结果会保存为data/med_data/test_data_predict.csv
。
6. 使用API接口
运行以下命令启动Flask API:
sh
python api.py
打开127.0.0.1:5000
即可查看。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】