ner-dutch-large项目介绍
ner-dutch-large
是由Flair提供的一个针对荷兰语的四类命名实体识别(NER)大型模型。该模型在CoNLL-03荷兰语数据集上的F1得分达到了95.25,显示出其在识别实体方面的高效性。该模型可以识别四种标签,分别是:
- PER:用于表示人名。
- LOC:用于表示地点名。
- ORG:用于表示组织名。
- MISC:用于表示其他类型的名称。
该模型是基于文档级XLM-R嵌入和FLERT技术开发的,体现了较高的识别准确性。
使用Demo:如何在Flair中使用
用户可以使用Flair库来应用该NER模型。这需要安装Flair,使用命令pip install flair
即可。以下是如何在Python中使用该模型的示例代码:
from flair.data import Sentence
from flair.models import SequenceTagger
# 加载NER模型
tagger = SequenceTagger.load("flair/ner-dutch-large")
# 创建一个示例句子
sentence = Sentence("George Washington ging naar Washington")
# 预测NER标签
tagger.predict(sentence)
# 输出句子
print(sentence)
# 输出预测的NER标签
print('The following NER tags are found:')
# 遍历并打印识别的实体
for entity in sentence.get_spans('ner'):
print(entity)
示例代码中,通过输入句子“George Washington ging naar Washington”,模型能够识别出“George Washington”是一个人名(PER),以及“Washington”是一个地点名(LOC)。
训练:模型训练脚本
开发者可以使用Flair提供的脚本来训练该模型。训练过程包括从CONLL_03_DUTCH数据集中获取语料,定义需要预测的标签类型ner
,生成标签字典,初始化可微调的Transformer嵌入,配置序列标注器,以及设置优化器和训练参数来运行训练。
训练代码中的主要步骤包括:
- 从语料库中获取数据。
- 构建标注字典。
- 初始化Transformer词嵌入与文档上下文。
- 配置序列标注器,不使用CRF和RNN。
- 使用AdamW优化器初始化训练器。
- 在20轮训练中运行模型训练。
详细的训练配置有助于有经验的开发者快速理解如何复现或微调模型。
引用
在使用此模型时,请引用如下论文:
@misc{schweter2020flert,
title={FLERT: Document-Level Features for Named Entity Recognition},
author={Stefan Schweter and Alan Akbik},
year={2020},
eprint={2011.06993},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
问题反馈
如在使用中遇到问题,可以访问Flair的问题跟踪器进行反馈。