代码和数据都存放在了github上:https://github.com/xuanzebi/BERT-CH-NER
欢迎大家STAR啊,来让我收获人生的第一个STAR吧 2333~~~~~
基于上课老师课程作业发布的中文数据集下使用BERT来训练命名实体识别NER任务。
之前也用了Bi+LSTM+CRF进行识别,效果也不错,这次使用BERT来进行训练,也算是对BERT源码进行一个阅读和理解吧。
虽然之前网上也有很多使用BERT的例子和教程,但是我觉得都不是很完整,有些缺乏注释对新手不太友好,有些则是问题不同修改的代码也不同,自己也在路上遇到了不少的坑。所以记录一下。
数据集
tmp 文件夹下
如上图,对数据集进行了分割,其中source是训练集中文,target是训练集的label。
test1 测试集,test_tgt 测试集label。 dev 验证集 dev-lable 验证集label。
类别
其中共设置了10个类别,PAD是当句子长度未达到max_seq_length时,补充0的类别。
CLS是每个句首前加一个标志[CLS]的类别,SEP是句尾同理。(因为BERT处理句子是会在句首句尾加上这两个符号。)