项目简介
本项目是基于PyTorch框架和BERT模型构建的命名实体识别(NER)系统。结合BERT强大的特征提取能力与CRF的序列标注能力,可高效识别文本中的人名、地名、组织名等命名实体。
项目的主要特性和功能
- 采用预训练的BERT模型作为特征提取器,具备强大的文本表示能力。
- 运用条件随机场(CRF)进行序列标注,有效处理命名实体识别中的序列依赖问题。
- 拥有完整的训练流程,涵盖数据预处理、模型训练、评估和推理。
- 提供丰富工具函数,如设置随机种子、准备设备、日志配置等,便于模型开发与调试。
安装使用步骤
数据准备
- 在
data
目录下新建CNER
文件夹,将原始数据存于该文件夹。 - 运行
preprocess_raw_data.py
,生成labels.json
、test.json
、train.json
等相关文件。
配置调整
- 按需调整
config.py
中的配置参数。 - 训练时,确保
do_train=True
;若查看测试结果,可设do_test=True
。 - 训练完成后查看测试结果,确保
do_train=False
和do_test=True
,并设置resume
参数为模型路径。
模型训练与测试
- 运行
run.py
进行模型训练和测试。 - 训练过程中,模型和日志分别保存在
checkpoints
和logs
目录。
模型推理
运行inference.py
,输入文本即可查看命名实体识别结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】