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模型