# Entity Extractor By Pointer
使用指针范式进行NER识别的两种经典方法,分别是BinaryPointer(SpanBert)和苏神的GlobalPointer,项目基于torch编写,提供可配置文件,项目已经提供了三种不同领域的数据,格式都一样,使用自己数据时请按照对应的数据格式整理好数据,并且按照配置要求填写参数,配置后直接运行main.py即可。
关于CRF范式的NER抽取实现请参考仓库里的另外一个项目[基于Tensorflow2.3的NER任务项目](https://github.com/StanleyLsx/entity_extractor_by_ner)。
2023年更新:仓库[entity_extractor](https://github.com/StanleyLsx/entity_extractor)使用torch2把CRF范式还有指针范式进行了整合,并引入了更多tricks,是chatgpt时代以前用来打ner比赛用的,也可以使用和参考。
## 环境
* torch==1.13.1
* tqdm==4.65.0
* transformers==4.27.3
其他环境见requirements.txt
## 更新历史
日期| 版本 |描述
:---|:-------|---
2020-08-23| v1.0.0 |初始仓库
2020-12-05| v1.1.0 |代码结构调整
2021-07-08| v2.0.0 |修改成BinaryPointer为Bert微调
2022-03-27| v2.1.0 |代码重构
2022-06-15| v3.0.0 |加入GlobalPointer方法、加入对抗、断点续训等
2022-06-17| v3.0.1 |转onnx时候tril的实现问题、加入批量测试
## 原理
* Binary Pointer
![模型原理图](https://img-blog.csdnimg.cn/20210709121725362.png)
* Global Pointer(图片来自于苏神科学空间)
![模型原理图](https://img-blog.csdnimg.cn/ad1ae1c72d26404e8373556c06e47b03.png)
## 使用方法
完成环境安装后,需要在configure.py文件中修改配置
### 参数设置
```
configure = {
# 训练数据集
'train_file': 'data/example_datasets2/train_data.json',
# 验证数据集
'dev_file': 'data/example_datasets2/dev_data.json',
# 没有验证集时,从训练集抽取验证集比例
'validation_rate': 0.15,
# 测试数据集
'test_file': '',
# 使用的模型
# bp: binary pointer
# gp: global pointer
'model_type': 'gp',
# 模型保存的文件夹
'checkpoints_dir': 'checkpoints/example_datasets2',
# 模型名字
'model_name': 'best_model.pkl',
# 类别列表
'classes': ['person', 'location', 'organization'],
# decision_threshold
'decision_threshold': 0.5,
# 是否使用苏神的多标签分类的损失函数,默认使用BCELoss
'use_multilabel_categorical_cross_entropy': True,
# 使用对抗学习
'use_gan': False,
# 目前支持FGM和PGD两种方法
# fgm:Fast Gradient Method
# pgd:Projected Gradient Descent
'gan_method': 'pgd',
# 对抗次数
'attack_round': 3,
# 是否进行warmup
'warmup': False,
# warmup方法,可选:linear、cosine
'scheduler_type': 'linear',
# warmup步数,-1自动推断为总步数的0.1
'num_warmup_steps': -1,
# 句子最大长度
'max_sequence_length': 200,
# epoch
'epoch': 50,
# batch_size
'batch_size': 16,
# dropout rate
'dropout_rate': 0.5,
# 每print_per_batch打印损失函数
'print_per_batch': 100,
# learning_rate
'learning_rate': 5e-5,
# 优化器选择
'optimizer': 'AdamW',
# 训练是否提前结束微调
'is_early_stop': True,
# 训练阶段的patient
'patient': 5,
}
```
### 训练
修改mode为train
```
# 模式
# train:训练分类器
# interactive_predict:交互模式
# test:跑测试集
# convert2tf:将torch模型保存为tf框架的pb格式文件
# [train, interactive_predict, test, convert_onnx]
mode = 'train'
```
![训练](https://img-blog.csdnimg.cn/14327879d369481d88437a387a77b761.png)
### 交互测试
修改mode为interactive_predict
```
# 模式
# train:训练分类器
# interactive_predict:交互模式
# test:跑测试集
# convert_onnx:将torch模型保存为onnx格式文件
# [train, interactive_predict, test, convert2tf]
mode = 'interactive_predict'
```
![预测](https://img-blog.csdnimg.cn/20200913193759376.png)
## 相关参考
**公众号文章:[基于首尾标注的实体抽取开源工具](https://mp.weixin.qq.com/s/xVRKN7lwM3wVDrI3hR9X9A)**
**苏神文章:[科学空间-Efficient GlobalPointer:少点参数,多点效果](https://spaces.ac.cn/archives/8877)**
**GitHub:[Efficient-GlobalPointer-torch的torch实现](https://github.com/xhw205/Efficient-GlobalPointer-torch)**
## 公众号
相关问题欢迎在公众号反馈:
![小贤算法屋](https://img-blog.csdnimg.cn/20210427094903895.jpg)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于知识图谱的古诗词问答系统源码(本科毕设).zip 个人大四的毕业设计、经导师指导并认可通过的高分设计项目,评审分96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 <资源说明> 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
资源推荐
资源详情
资源评论
收起资源包目录
基于知识图谱的古诗词问答系统python源码(本科毕设).zip (521个子文件)
bootstrap.4.6.min.css 158KB
bootstrap.min.css 118KB
nifty.min.css 118KB
wiki.css 109KB
ionicons.min.css 50KB
font-awesome.min.css 30KB
font-awesome.min.css 28KB
nifty-demo-icons.min.css 9KB
datatables.bootstrap.css 7KB
nifty-demo.min.css 7KB
style.css 6KB
login.css 5KB
datatables.responsive.css 2KB
init.css 1KB
github-dark-dimmed.min.css 1KB
26707bedc25a4344bb99d7e1215825f4.css 895B
index.css 704B
detail.css 698B
pace.min.css 317B
fontawesome-webfont.eot 162KB
.gitignore 29B
KGQA_Poetry.html 19KB
KGQA.html 18KB
search_poetry.html 17KB
search.html 17KB
relations.html 15KB
index.html 3KB
register.html 3KB
login.html 2KB
favicon.ico 1KB
bg1.jpg 2.41MB
冷子兴.jpg 193KB
伴鹤.jpg 193KB
赵姨娘.jpg 101KB
玻璃.jpg 92KB
雪雁.jpg 89KB
贾珍.jpg 74KB
智能儿.jpg 52KB
彩凤.jpg 44KB
玉官.jpg 41KB
大色空.jpg 41KB
王子腾.jpg 40KB
艾官.jpg 37KB
王仁.jpg 34KB
蒋玉菡.jpg 34KB
葵官.jpg 33KB
宋嬷嬷.jpg 31KB
宝官.jpg 30KB
张华.jpg 30KB
锄药.jpg 29KB
方椿.jpg 29KB
香菱.jpg 29KB
妙玉.jpg 29KB
茄官.jpg 29KB
巧姐.jpg 28KB
李纨.jpg 28KB
贾琏.jpg 28KB
张金哥.jpg 28KB
王柱儿.jpg 28KB
薛姨妈.jpg 27KB
焦大.jpg 26KB
尤三姐.jpg 26KB
豆官.jpg 25KB
贾迎春.jpg 24KB
詹光.jpg 24KB
娇杏.jpg 24KB
彩儿.jpg 24KB
尤氏.jpg 23KB
史湘云.jpg 23KB
赖尚荣.jpg 23KB
四儿.jpg 22KB
林黛玉.jpg 22KB
林之孝家的.jpg 21KB
周瑞.jpg 21KB
薛蟠.jpg 21KB
莺儿.jpg 21KB
吴贵.jpg 21KB
甄应嘉.jpg 21KB
李十儿.jpg 21KB
裘世安.jpg 21KB
夏金桂.jpg 21KB
薛宝钗.jpg 21KB
宝蟾.jpg 20KB
山子野.jpg 20KB
寿儿.jpg 20KB
贾宝玉.jpg 20KB
贾敬.jpg 20KB
平儿.jpg 19KB
贾代化.jpg 19KB
彩鸾.jpg 19KB
薛宝琴.jpg 19KB
玉柱儿.jpg 19KB
薛蝌.jpg 19KB
贾珠.jpg 19KB
宝珠.jpg 18KB
秋纹.jpg 18KB
秦可卿.jpg 18KB
彩霞.jpg 18KB
包勇.jpg 18KB
琪官.jpg 18KB
共 521 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
Scikit-learn
- 粉丝: 5029
- 资源: 3880
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于TypeScript的数据库实训平台前端设计源码
- 基于SSM框架与微信小程序的图书馆自习室座位预约管理系统设计源码
- 基于SL4J格式的C++日志管理设计源码
- 基于yolov3-tiny-bubbliiiing和Tkinter的实时物体检测界面设计源码
- 基于《JS DOM 编程艺术》(第2版)的JavaScript DOM编程设计源码学习
- ADASIS V2&V3协议
- 基于HTML、JavaScript等技术的全栈前端学习笔记设计源码
- 基于Vue的网易云音乐高仿设计源码
- 基于C语言的串口数据流处理库设计源码
- PTA实验和作业成绩.rar
- 基于SpringBoot+Vue的校园闲置物品租售平台设计源码
- 基于Vue3+AntDesign4的ivzone CRUD组件库及后台管理模板设计源码
- 基于EVE ESI的合同估价与吉他价格计算器设计源码
- 基于Vue-cli3的仿去哪儿旅行APP设计源码
- 基于Windows日志监听的SQLServer登录失败IP黑名单自动添加设计源码
- 基于Java和最新框架的在线课程教育系统设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功