littlebot
Published on 2025-04-10 / 1 Visits
0

【源码】基于PyTorch的中文命名实体识别系统

项目简介

本项目是基于PyTorch实现的中文命名实体识别(NER)系统,支持Bert、RoBerta、ernie、albert等模型,具备开箱即用的特点。使用包含8大类别的中文数据集CNER,并将原始数据转换为csv格式,方便统计和处理。

项目的主要特性和功能

  1. 多模型支持:支持Bert、RoBerta、ernie、albert等多种预训练模型。
  2. 数据处理:可将原始的txt格式数据转换为csv格式,便于后续处理和分析。
  3. 训练与评估:提供训练脚本train.py和测试脚本test.py,并生成训练集、验证集正确率曲线和loss下降曲线。
  4. 预测功能:提供终端输入文本进行预测的脚本infer.py,以及基于Flask的API接口api.py
  5. 数据集更换:支持更换自己的数据集,只需在指定目录下按要求放置数据并修改配置文件即可。

安装使用步骤

1. 环境准备

确保已安装Python和必要的依赖库,如PyTorch、Flask等。

2. 数据准备

  • 若使用默认数据集,无需额外操作。
  • 若要使用自己的数据集:
  • data目录下建立和med_data一样的文件夹,包含train.csvtest.csvdev.csvlabel2id.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】