Skip to content

About

BJTU NLP 课程 NER 实验

Resources

Stars

5 stars

Watchers

1 watching

Forks

Repository files navigation

北京交通大学NLP课程命名实体识别(NER)实验

注:

该项目待使用 PyTorch Lightning 重构,有望实现多 GPU 训练。但是最近有些忙,也不知道什么时候完成,争取 25 年 1 月份搞定,orz。

北京交通大学自然语言处理课程命名实体识别,基于 BERT + BiLSTM + CRF,实验所需的语料库为散文数据集lancopku/Chinese-Literature-NER-RE-Dataset: A Discourse-Level Named Entity Recognition and Relation Extraction Dataset for Chinese Literature Text (github.com)。

本次实验基于 Pytorch 编码实现,实验结果为根目录的 predict_result.json 文件。

参考:

taishan1994/BERT-BILSTM-CRF: 使用BERT-BILSTM-CRF进行中文命名实体识别。 (github.com)

(!待完善)

Contributors Forks Stargazers Issues MIT License

目录

代码运行环境

Python版本:

​ Python 3.9.19

所需相关库:

  • scikit-learn==1.1.3
  • scipy==1.10.1
  • seqeval==1.2.2
  • transformers==4.27.4
  • pytorch-crf==0.7.2
  • opencc==1.1.1
  • pandas==2.2.3
  • pytorch==2.5.1

​ 已导出requirement.txt文件,可以使用pip install -r requirements.txt或conda install --yes --file requirements.txt命令一键安装相关的库;或安装相关库。

​ 建议使用 anaconda 管理 Python 环境,创建本项目的环境安装好相应的库再运行以下步骤。

安装步骤

  1. 配置实验运行环境

json 文件转换为 BIOS txt文件

​ 使用 PyCharm 打开本项目,打开 src/data/precess.py,右键代码任意部分运行;

​ 生成 dev.txt,train.txt,entities_count.txt 文件位于项目根目录/data/pre_data。

模型训练

​ 打开config/config.py里面有一些模型参数配置以及本地路径配置,可以根据实际情况进行修改,本次实验使用的是 4090 云服务器。打开src/models/train.py,右键代码任意部分即可运行。

​ 训练保存在本地的 bin 文件保存在 output 文件夹中,具体文件为 best_model.json和模型名_args.json。

模型验证

​ 运行 src/model/predict.py可以对 test.json 进行命名实体识别,生成 predict_result.json文件于 output 文件夹中。

作者

Ther's World (excelius.xyz)

邮箱:[email protected]

您也可以在贡献者名单中参看所有参与该项目的开发者。

版权说明

该项目签署了MIT 授权许可,详情请参阅 LICENSE.txt

About

BJTU NLP 课程 NER 实验

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages