模型:
mbeukman/xlm-roberta-base-finetuned-ner-naija
这是一个经过微调的令牌分类(特别是NER)模型,它在Nigerian Pidgin部分的数据集(即 MasakhaNER )上进行了 xlm-roberta-base 次微调。
更多信息和其他类似的模型可以在xxx中找到。
这个模型是基于Transformer的,并在MasakhaNER数据集上进行了微调。它是一个命名实体识别数据集,主要包含10种不同非洲语言的新闻文章。该模型进行了50个epochs的微调,最大序列长度为200,32个批次大小,5e-5的学习率。这个过程重复了5次(使用不同的随机种子),而上传的模型在这5个种子中表现最好(测试集上的聚合F1得分)。
这个模型是由我,Michael Beukman,在约翰内斯堡威特沃特斯兰德大学进行项目时进行微调的。这是版本1,截至2021年11月20日。该模型根据xxx进行许可。
有关模型的更多信息,包括训练脚本、详细结果和其他资源,请访问xxx。您可以通过在该存储库上提交问题来与我联系。
考虑到公开性和报告使用的资源,我们在此列出了训练过程的所需时间以及重现此过程所需的最低资源。在NER数据集上对每个模型进行微调需要10到30分钟,使用的是NVIDIA RTX3090 GPU。要使用32批次大小,至少需要14GB的GPU内存,虽然如果使用1批次大小,这些模型也可以在约6.5GB的显存中适应。
训练、评估和测试数据集直接取自MasakhaNER存储库,几乎没有或根本没有预处理,因为原始数据集已经具有很高的质量。使用此数据的动机是它是“第一个大规模、公开可用、高质量的非洲十种语言命名实体识别(NER)数据集”(xxx)。高质量数据以及引入它的论文奠定的基础是使用此数据集的更多原因。为了评估,使用了专用的测试分割,该分割与训练数据具有相同的分布,因此该模型可能不适用于其他分布,需要进行进一步的测试来进行调查。数据的确切分布在xxx中详细介绍。
这些模型旨在用于NLP研究,例如解释性或迁移学习。不支持将此模型用于生产,因为其概括性和性能非常有限。特别是,它没有设计用于任何可能影响人们的重要下游任务,因为模型的限制可能会造成伤害。
这个模型只在一个(相对较小的)数据集上进行了训练,涵盖了一个任务(NER),一个领域(新闻文章)和一段时间。如果在其他任务上使用,结果可能不具有普适性,并且模型可能表现不佳或不公平/有偏见。尽管这个项目的目的是研究迁移学习,但模型在未经培训的语言上的性能确实有所下降。
因为这个模型使用xlm-roberta-base作为起点(可能还进行了特定语言的领域自适应微调),所以这个模型的限制也可能适用于这里。这些限制可能包括对其大部分训练数据的霸权观点有偏见、没有基础并且在其他语言上的结果效果差(可能由于训练数据不平衡)。
正如xxx所示,这些模型普遍难以处理超过3个单词的实体和不包含在训练数据中的实体。这可能使模型不容易找到例如包含多个单词的人名,从而可能导致结果的误代表。同样,不常见的名字可能因为未在训练数据中找到而被较少预测。
此外,该模型尚未经过验证,如果在没有验证其是否完成所需任务的情况下使用,可能会出现其他更微妙的问题。
数据仅来自公开可用的新闻来源,可用的数据仅涵盖公众人物和同意被报道的人。有关详细信息,请参阅原始的MasakhaNER论文。
在微调这个模型的过程中,没有进行明确的道德考虑或调整。
语言自适应模型在整体上(大部分情况下)表现优于xlm-roberta-base。我们的主要指标是所有NER类别的聚合F1得分。
这些指标是在MasakhaNER的测试集上计算的,因此数据分布与训练集相似,因此这些结果并不直接表示这些模型的普适性如何。我们发现从不同的种子开始(尝试了5个不同的种子)会有很大的迁移结果差异,这表明迁移的微调过程可能不稳定。
选择这些度量标准是为了与以前的工作保持一致,并促进研究。其他指标可能对其他目的更合适。
总体而言,与其他类别相比,这个模型在“date”类别上的表现较差,因此如果日期是一个关键因素,那么可能需要考虑和解决这个问题,例如收集和注释更多数据。
以下是关于这个特定模型的一些性能细节,与我们训练的其他模型进行比较。所有这些指标都是在测试集上计算的,并且选择了最佳整体F1得分的种子。前三列结果是对所有类别进行平均的,后4列提供了按类别划分的性能。
该模型可以预测一个标记的以下标签:
Abbreviation | Description |
---|---|
O | Outside of a named entity |
B-DATE | Beginning of a DATE entity right after another DATE entity |
I-DATE | DATE entity |
B-PER | Beginning of a person’s name right after another person’s name |
I-PER | Person’s name |
B-ORG | Beginning of an organisation right after another organisation |
I-ORG | Organisation |
B-LOC | Beginning of a location right after another location |
I-LOC | Location |
Model Name | Staring point | Evaluation / Fine-tune Language | F1 | Precision | Recall | F1 (DATE) | F1 (LOC) | F1 (ORG) | F1 (PER) |
---|---|---|---|---|---|---|---|---|---|
12311321 (This model) | 12312321 | pcm | 88.89 | 88.13 | 89.66 | 92.00 | 87.00 | 82.00 | 94.00 |
12313321 | 12314321 | pcm | 88.06 | 87.04 | 89.12 | 90.00 | 88.00 | 81.00 | 92.00 |
12315321 | 12316321 | pcm | 89.12 | 87.84 | 90.42 | 90.00 | 89.00 | 82.00 | 94.00 |
要使用这个模型(或其他模型),您可以进行以下操作,只需更改模型名称:
from transformers import AutoTokenizer, AutoModelForTokenClassification from transformers import pipeline model_name = 'mbeukman/xlm-roberta-base-finetuned-ner-naija' tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForTokenClassification.from_pretrained(model_name) nlp = pipeline("ner", model=model, tokenizer=tokenizer) example = "Mixed Martial Arts joinbodi , Ultimate Fighting Championship , UFC don decide say dem go enta back di octagon on Saturday , 9 May , for Jacksonville , Florida ." ner_results = nlp(example) print(ner_results)