🚀 BERT基础命名实体识别(NER)的ONNX转换
本项目是 bert-base-NER 模型的ONNX转换实现,提供了一个可用于命名实体识别(NER)任务的预训练模型,在相关任务中达到了先进水平。
🚀 快速开始
模型转换说明
本项目聚焦于 bert-base-NER 模型的转换工作。
✨ 主要特性
bert-base-NER 是一个经过微调的BERT模型,可直接用于 命名实体识别 任务,并在该任务中取得了 先进的性能。它经过训练,能够识别四种类型的实体:地点(LOC)、组织(ORG)、人物(PER)和其他(MISC)。
具体而言,该模型基于 bert-base-cased 模型,并在标准 CoNLL - 2003命名实体识别 数据集的英文版本上进行了微调。
如果你希望使用在相同数据集上微调的更大的BERT - large模型,也可以选择 bert-large-NER 版本。
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModelForTokenClassification
from transformers import pipeline
tokenizer = AutoTokenizer.from_pretrained("dslim/bert-base-NER")
model = AutoModelForTokenClassification.from_pretrained("dslim/bert-base-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)
📚 详细文档
预期用途与局限性
使用方法
你可以使用Transformers的 pipeline 来使用此模型进行命名实体识别。
局限性和偏差
该模型受限于其特定时间段内带有实体标注的新闻文章训练数据集,可能无法很好地泛化到不同领域的所有用例。此外,模型偶尔会将子词标记为实体,可能需要对结果进行后处理以处理这些情况。
训练数据
该模型在标准 CoNLL - 2003命名实体识别 数据集的英文版本上进行了微调。
训练数据集区分了实体的开始和延续,以便在出现连续的同类型实体时,模型能够输出第二个实体的起始位置。在数据集中,每个标记将被分类为以下类别之一:
属性 |
详情 |
O |
命名实体之外 |
B - MIS |
紧接在另一个其他实体之后的其他实体的开始 |
I - MIS |
其他实体 |
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任务上对模型进行了训练和评估。
评估结果
指标 |
开发集 |
测试集 |
F1值 |
95.1 |
91.3 |
精确率 |
95.0 |
90.7 |
召回率 |
95.3 |
91.9 |
测试指标略低于官方Google BERT的结果,官方结果对文档上下文进行了编码并使用了CRF进行实验。关于复现原始结果的更多信息 点击此处。
BibTeX引用和引用信息
@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}
}
@inproceedings{tjong-kim-sang-de-meulder-2003-introduction,
title = "Introduction to the {C}o{NLL}-2003 Shared Task: Language-Independent Named Entity Recognition",
author = "Tjong Kim Sang, Erik F. and
De Meulder, Fien",
booktitle = "Proceedings of the Seventh Conference on Natural Language Learning at {HLT}-{NAACL} 2003",
year = "2003",
url = "https://www.aclweb.org/anthology/W03-0419",
pages = "142--147",
}
📄 许可证
本项目采用MIT许可证。