项目介绍:bert-spanish-cased-finetuned-ner
bert-spanish-cased-finetuned-ner项目是一个基于西班牙语BERT模型(BETO)进行微调的命名实体识别(NER)模型。该模型专注于提升在NER任务中的表现。
项目背景
这是一个专为西班牙语设计的BERT模型微调项目,主要用于命名实体识别的下游任务。所使用的基础模型是BETO,并针对NERC数据集进行了微调。通过这种方法,项目大幅度提升了模型在识别西班牙语文本中实体的准确性。
数据集详情
使用的数据集为CONLL Corpora ES。在处理数据时,将数据划分为训练集和开发集,比例为80/20。具体的示例如下:
- 训练集:8,700例
- 开发集:2,200例
微调过程中,使用了由Huggingface提供的NER微调脚本。
标签信息
模型覆盖的标签包括:
- B-LOC(位置名的开始)
- B-MISC(其他名的开始)
- B-ORG(组织名的开始)
- B-PER(人名的开始)
- I-LOC(位置名的内)
- I-MISC(其他名的内)
- I-ORG(组织名的内)
- I-PER(人名的内)
- O(其他)
评估指标
模型在评估集上的表现如下:
- F1得分:90.17
- 精确率:89.86
- 召回率:90.47
模型对比
在F1得分和模型大小两方面,与其他模型对比如下:
模型 | F1得分 | 大小(MB) |
---|---|---|
bert-base-spanish-wwm-cased (BETO) | 88.43 | 421 |
bert-spanish-cased-finetuned-ner (当前) | 90.17 | 420 |
最佳多语言BERT | 87.38 | 681 |
TinyBERT-spanish-uncased-finetuned-ner | 70.00 | 55 |
模型应用
使用Huggingface的pipelines库,可以方便地进行测试:
from transformers import pipeline
nlp_ner = pipeline(
"ner",
model="mrm8488/bert-spanish-cased-finetuned-ner",
tokenizer=(
'mrm8488/bert-spanish-cased-finetuned-ner',
{"use_fast": False}
))
text = 'Mis amigos están pensando viajar a Londres este verano'
nlp_ner(text)
# 输出: [{'entity': 'B-LOC', 'score': 0.9998720288276672, 'word': 'Londres'}]
总结
该项目由Manuel Romero/@mrm8488创建,在西班牙开发完成。它将帮助提升西班牙语文本中命名实体识别的准确性和效率。