首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义Spacy NER模型的总体F得分与单个实体的F得分之间的巨大差异

自定义Spacy NER模型的总体F得分与单个实体的F得分之间的巨大差异
EN

Stack Overflow用户
提问于 2019-07-31 11:51:05
回答 1查看 558关注 0票数 1

我正在使用Spacy训练一个自定义NER模型,该模型使用6个实体的5000个文本条目的样本。当在一个看不见的样本(500个文本条目)上评估训练后的模型时,我为整个模型(93.8)获得的F分数在任何单个实体的F分数之间有很大差异。有人能帮我理解整体F分数是如何计算的吗?为什么整体F分数和单个实体分数之间有这么大的差异?

我使用Spacy构建了自己的自定义命名实体识别(NER)模型。我的训练数据集的大小是5000,其中有6个实体。此外,我在500个样本上测试了我的模型,并使用ScorerGoldParse对模型进行了评估。

下面是我用来评估测试数据性能的代码:

代码语言:javascript
复制
def evaluate(ner_model, examples):
    scorer = Scorer()
    for input_, annot in examples:
        doc_gold_text = ner_model.make_doc(input_)
        gold = GoldParse(doc_gold_text, entities=annot.get('entities'))
        pred_value = ner_model(input_)
        scorer.score(pred_value, gold)
    return scorer.scores

这是我得到的结果-

代码语言:javascript
复制
{'uas': 0.0, 'las': 0.0, 'ents_p': 93.62838106164233, 'ents_r': 
 93.95728476332452, 'ents_f': 93.79254457050243,
 'ents_per_type': {
 'ENTITY1': {'p': 6.467595956926736, 'r': 54.51002227171492, 'f': 
 11.563219748420247},
 'ENTITY2': {'p': 6.272470243289469, 'r': 49.219391947411665, 'f': 
 11.126934984520123}, 
 'ENTITY3': {'p': 18.741109530583213, 'r': 85.02742820264602, 'f': 
 30.712745497989392}, 
 'ENTITY4': {'p': 13.413228854574788, 'r': 70.58823529411765, 'f': 
 22.54284884283916}, 
 'ENTITY5': {'p': 19.481765834932823, 'r': 82.85714285714286, 'f': 
 31.546231546231546}, 
'ENTITY6': {'p': 24.822695035460992, 'r': 64.02439024390245, 'f': 35.77512776831346}},
 'tags_acc': 0.0, 'token_acc': 100.0}

在这里,您可以看到任何其他实体类型的ents_ff之间的巨大差异。模型的整体F分数与单个实体分数之间的关系是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-31 20:39:54

我认为这是一个错误,应该在下一个版本中修复。您可以在此处查看详细信息:https://github.com/explosion/spaCy/issues/3968

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57282912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档