中文实体识别(采用BERT)
数据预处理
构建标签字典
保存为pkl文件方便读取。
读取数据
- 字对应标签list序列
- 序列截断操作,不超过最大长度,否则就截断。
- 处理为BERT对应的字符
- 将字符转为id索引
- 长度不够,需要填充0(在bert中,填充的0不会计算self-attention,需要用到mask)
输入到BERT模型中
- (见BERT学习笔记)得到输出结果为[batch_size,leng,dim]
- 对输出向量进行标签预测
W维度[dim,标签类别]、b偏差值[11]
经过全连接层非线性函数输出每一个字对应的预测类别结果向量[batch*len,11]
将结果输入到CRF中
- 构建转移矩阵[num_class,num_class]
- 计算似然函数