本研究利用PyTorch框架开发了一种结合BERT、BiLSTM和CRF模型的系统,专门针对中文文本进行高效的命名实体识别,提升了实体边界检测与分类精度。
依赖:python==3.6(可选)、pytorch==1.6.0(可选)、pytorch-crf==0.7.2、transformers==4.5.0、numpy==1.22.4、packaging==21.3
温馨提示:新增了转换为onnx并进行推理的功能,具体内容在convert_onnx下,使用命令python convert_onnx.py执行。仅支持对单条数据的推理。在CPU环境下,原本的推理时间为0.714256477355957秒,转换后为0.4593505859375秒。需要安装onnxruntime和onnx库。
注意:原本的pytorch-crf不能转换为onnx,在这里使用了替代方案。目前只测试了bert_crf模型,其他模型可根据需求自行调整。
问题汇总:
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions.
解决方法:pip install numpy==1.22.4 packaging.ver