🚀 distilbert-NER
distilbert-NER 是一个基于 DistilBERT 微调的命名实体识别(NER)模型。DistilBERT 是 BERT 模型的蒸馏版本,参数更少,模型更小、运行更快且效率更高。该模型在英文 CoNLL - 2003 数据集上微调,能准确识别地点、组织、人物和其他杂项四类实体,在大小、速度和准确性之间取得了良好平衡。
🚀 快速开始
如果你觉得我的开源模型对你有帮助,请考虑支持我为大家构建小型实用的 AI 模型(也能帮我支付医学院的学费或在经济上帮助我的父母)。感谢!

✨ 主要特性
- 轻量级高效:基于 DistilBERT 微调,相比 BERT 模型参数更少,运行速度更快。
- 精准识别:能准确识别地点(LOC)、组织(ORG)、人物(PER)和杂项(MISC)四类实体。
- 数据丰富:在英文 CoNLL - 2003 数据集上微调,该数据集实体类型丰富多样。
可用的 NER 模型
📦 安装指南
暂未提及安装相关内容,可参考 Transformers 库的安装方法。
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModelForTokenClassification
from transformers import pipeline
tokenizer = AutoTokenizer.from_pretrained("dslim/distilbert-NER")
model = AutoModelForTokenClassification.from_pretrained("dslim/distilbert-NER")
nlp = pipeline("ner", model=model, tokenizer=tokenizer)
example = "My name is Wolfgang and I live in Berlin"
ner_results = nlp(example)
print(ner_results)
📚 详细文档
预期用途与限制
如何使用
该模型可以像 BERT 模型一样,使用 Transformers 的 pipeline 进行命名实体识别任务。
限制和偏差
distilbert-NER 的性能与在 CoNLL - 2003 数据集上的训练有关。因此,对于与该训练集差异较大的文本数据,其效果可能有限。用户应注意训练数据中可能存在的固有偏差,以及在复杂句子中实体误分类的可能性。
训练数据
该模型在英文标准 CoNLL - 2003 命名实体识别 数据集上进行了微调。
训练数据集区分了实体的开始和延续,这样如果有连续的同类型实体,模型可以输出第二个实体的起始位置。在数据集中,每个标记将被分类为以下类别之一:
缩写 |
描述 |
O |
命名实体之外 |
B - MISC |
另一个杂项实体之后的杂项实体的开始 |
I - MISC |
杂项实体 |
B - PER |
另一个人名之后的人名的开始 |
I - PER |
人名 |
B - ORG |
另一个组织之后的组织的开始 |
I - ORG |
组织 |
B - LOC |
另一个地点之后的地点的开始 |
I - LOC |
地点 |
CoNLL - 2003 英文数据集统计
该数据集源自路透社语料库,由路透社新闻故事组成。你可以在 CoNLL - 2003 论文中了解更多关于该数据集的创建方式。
每个实体类型的训练示例数量
数据集 |
LOC |
MISC |
ORG |
PER |
训练集 |
7140 |
3438 |
6321 |
6600 |
验证集 |
1837 |
922 |
1341 |
1842 |
测试集 |
1668 |
702 |
1661 |
1617 |
每个数据集的文章/句子/标记数量
数据集 |
文章数量 |
句子数量 |
标记数量 |
训练集 |
946 |
14,987 |
203,621 |
验证集 |
216 |
3,466 |
51,362 |
测试集 |
231 |
3,684 |
46,435 |
训练过程
该模型在单个 NVIDIA V100 GPU 上进行训练,使用了 原始 BERT 论文 中推荐的超参数,该论文在 CoNLL - 2003 NER 任务上对模型进行了训练和评估。
评估结果
指标 |
得分 |
损失 |
0.0710 |
精确率 |
0.9202 |
召回率 |
0.9232 |
F1 值 |
0.9217 |
准确率 |
0.9810 |
训练和验证损失随训练轮数减少,表明模型学习效果良好。精确率、召回率和 F1 得分具有竞争力,展示了模型在 NER 任务中的稳健性。
BibTeX 引用和引用信息
对于 DistilBERT:
@article{sanh2019distilbert,
title={DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter},
author={Sanh, Victor and Debut, Lysandre and Chaumond, Julien and Wolf, Thomas},
journal={arXiv preprint arXiv:1910.01108},
year={2019}
}
对于基础 BERT 模型:
@article{DBLP:journals/corr/abs-1810-04805,
author = {Jacob Devlin and
Ming{-}Wei Chang and
Kenton Lee and
Kristina Toutanova},
title = {{BERT:} Pre-training of Deep Bidirectional Transformers for Language
Understanding},
journal = {CoRR},
volume = {abs/1810.04805},
year = {2018},
url = {http://arxiv.org/abs/1810.04805},
archivePrefix = {arXiv},
eprint = {1810.04805},
timestamp = {Tue, 30 Oct 2018 20:39:56 +0100},
biburl = {https://dblp.org/rec/journals/corr/abs-1810-04805.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
📄 许可证
本项目采用 Apache - 2.0 许可证。