公众号文章:基于首尾标注的实体抽取开源工具
“半指针-半标注”方法实体的抽取器,基于苏神的三元组抽取方法改造,这里取消了三元组抽取模型中对s的抽取,直接抽取实体并做分类(相当于直接抽取p和o)。改造后的实体抽取方法不仅可以运用于短实体的抽取,也可以运用到长句实体的抽取。
- python 3.6.7
- transformers==3.0.2
- torch==1.6.0
其他环境见requirements.txt
日期 | 版本 | 描述 |
---|---|---|
2020-08-23 | v1.0.0 | 初始仓库 |
2020-12-05 | v1.1.0 | 代码结构调整 |
2021-07-08 | v2.0.0 | 修改成Bert微调的模型 |
- 按照data中的格式整理好数据
[
{
"text": "XAAAXXXBBXXCCCCCCCCCCCXX",
"a": "AAA",
"b": "BB",
"c": "CCCCCCCCCCC"
},
]
- 在system.config文件中配置好参数,其中class_name必须和json文件中的类别的key一致
class_name=[a,b,c]
- 选择训练模式
################ Status ################
mode=train
# string: train/test/interactive_predict
- 根据结果调高或调低decision_threshold这个超参数(sigmoid的输出大于这个参数会被判定为实体的首/尾)
decision_threshold=0.5
- 运行main.py
- example_datasets1
这里的数据模式比较简单,比较容易达到验证集拟合状态
- example_datasets2
- 选择测试模式,程序会读取训练过程中最好的模型
################ Status ################
mode=interactive_predict
# string: train/test/interactive_predict
交互测试结果如下
- example_datasets1
- example_datasets2
相关问题欢迎在公众号反馈: