共计 775 个字符,预计需要花费 2 分钟才能阅读完成。
named_entity_recognition
命名实体辨认公司实操——具体步骤 (raw 数据 + 标注 + 数据集解决 +crf)
我的项目的 github 地址
工作指标
从一些工厂、单位的日常查看日志中,辨认出隐患设施实体和地点实体,如下表:
隐患日志 | 隐患地点 | 隐患设施 | |
---|---|---|---|
1 | 轧钢部一轧反吹压力表未校验 | 轧钢部 | 反吹压力表 |
2 | 铸管 4.0 施工现场多处气瓶间距不符合要求 | 铸管、4.0 施工现场 | 气瓶 |
…… | …… | …… | |
121 | 煤气职业危害告知牌检测数据未更新 | 煤气职业危害告知牌 |
ps:上表的程序仅是实例展现,不代表 selected_data.xlsx 中的真实情况。
试验步骤:
1、将每一句话用 BIO 标注形式标注
2、写 dataloader
3、应用 crf 模型训练
上面咱们介绍具体的标注工具及步骤
数据标注:
- 想要的训练数据集展现如下:
善其事而先利其器,采纳 YEDAA 这个 python 开源工具包来标注,运行后界面长这样:
- 应用时几点留神:
1、操作方法是用英文写的,根本能涵盖你的应用要求,花几分钟工夫建一个 txt 文件练练就会了;
2、目前 YEDDA(2020.11)只反对 Python2,我用 conda 创立了一个 py2 环境;
3、反对间接导入文件(open 按钮),我应用的是 txt 格局;
4、反对导出模式设置,标注实现后点击 Export 按钮即可输入,咱们会失去一个.anns 文件;
5、可设置快捷键命令,一键标注光标内文本
6、荧光笔标记的标签如果挨着,肯定要防止重叠,一个字符的重叠都不能够,否则会呈现如下谬误:
数据集解决
- 数据分析:
数据量只有 121 句,划分为 10:1(110 对 train 数据。11 对 val 数据,也就是用来测试的。
- 流程:
①把 121 个 sentence 和 tag 对以(s,t)的模式加载到内存(load_dataset)
②用固定的随机种子打乱程序
③划分列表,再别离存储为 train.txt 和 val.txt
CRF 模型
正文完