Python做NER需选对工具、规范数据、定义标签体系并微调预训练模型;用Hugging Face的Transformers等库加载BERT类模型,按BIO格式标注,对齐tokenizer与标签,用AutoModelForTokenClassification微调,以seqeval评估各项指标。
用Python做文本实体识别(NER),核心是选对工具、准备规范数据、定义标签体系,再微调预训练模型。不一定要从零训练,用Hugging Face的Transformers + Tokenizers + datasets库,配合BERT类模型,效果好、上手快。
NER训练数据通常按字或词打标签,常用BIO格式(B-ORG, I-ORG, O)。每行一个字+标签,句子间空行隔开:
李 B-PER注意三点:
用transformers里的AutoTokenizer加载BERT类分词器(如bert-base-chinese),关键在保持“子词切分”和“标签映射”同步:
推荐用AutoModelForTokenClassification:
用Trainer API训练,但评估要用seqeval(专为NER设计):
ogits,再argmax转标签,最后按原始字序列还原基本上就这些。NER不是黑箱,关键是数据对齐和标签逻辑清晰。模型可以换,流程跑通了,换成RoBERTa、MacBERT甚至Qwen-1.5B也一样套用。