# 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)
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于知识图谱的古诗词问答系统,该项目可作为本科阶段的课程设计或毕业设计,包复现,建议收藏。_KGQA_Poetry.zip (523个子文件)
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
.DS_Store 6KB
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
共 523 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
好家伙VCC
- 粉丝: 2410
- 资源: 9138
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 笼养蛋鸡健康行为监测机器人系统研究
- 销售数据集,客户购买行为影响因素数据,38万多条数据(它包含了详细的客户人口统计信息、购买详情、忠诚度计划参与情况以及交易结果 该数据集非常适合用于分析客户行为、评估忠诚度计划和预测购买模式)
- 人体脉搏信号的采集与分析
- 汽车空调的太阳能供电控制系统的研究与设计
- 热封式自动包装机控制系统的设计与实现
- 设施农业自动灌溉控制器研发
- 体表汗液多参数电化学传感器及穿戴式检测装置的研制
- 松下FP7大型plc程序,一共18个电机,轴控制程序模块化,拿着就可以直接套用,整个程序结构清晰,注释完整,适合学习借鉴
- ThinkTemplate开发指南完整版PDF最新版本
- 分布式grade:IDL-DataWriter
- 可调谐石墨烯超材料吸收体FDTD仿真模拟 案例内容该案例提供了一种可调谐石墨烯超材料吸收体,其吸收光谱可以通过改变施加于石墨烯的化学势来进行调节 案例文件仿真源文件
- 测量工具,串口调试问问
- php8.x中文手册2023官方CHM版最新版本
- ThinkPHP5.0快速入门手册(新手教程版)中文离线版最新版本
- 十六进制文件源码编辑工具
- unity 自己使用的工具,用来做特殊效果
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功