You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解读Spacy Scorer输出:自定义NER模型评估指标含义咨询

问题:Spacy Scorer输出指标含义解析?

我使用Spacy构建了一个自定义NER模型,目前正通过Spacy的Scorer类对训练集进行评估,评估代码如下:

def Eval(examples): 
    # test the saved model 
    print("Loading from", './model6/') 
    ner_model = spacy.load('./model6/') 
    scorer = Scorer() 
    try: 
        for input_, annot in examples: 
            doc_gold_text = ner_model.make_doc(input_) 
            gold = GoldParse(doc_gold_text, entities=annot['entities']) 
            pred_value = ner_model(input_) 
            scorer.score(pred_value, gold) 
    except Exception as e: 
        print(e) 
    print(scorer.scores)

代码运行正常,但我无法理解输出结果的含义,以下是各训练集的输出:

{'uas': 0.0, 'las': 0.0, 'ents_p': 90.14084507042254, 'ents_r': 92.7536231884058, 'ents_f': 91.42857142857143, 'tags_acc': 0.0, 'token_acc': 100.0} 
{'uas': 0.0, 'las': 0.0, 'ents_p': 91.12227805695142, 'ents_r': 93.47079037800687, 'ents_f': 92.28159457167091, 'tags_acc': 0.0, 'token_acc': 100.0} 
{'uas': 0.0, 'las': 0.0, 'ents_p': 92.45614035087719, 'ents_r': 92.9453262786596, 'ents_f': 92.70008795074759, 'tags_acc': 0.0, 'token_acc': 100.0} 
{'uas': 0.0, 'las': 0.0, 'ents_p': 94.5993031358885, 'ents_r': 94.93006993006993, 'ents_f': 94.76439790575917, 'tags_acc': 0.0, 'token_acc': 100.0} 
{'uas': 0.0, 'las': 0.0, 'ents_p': 92.07920792079209, 'ents_r': 93.15525876460768, 'ents_f': 92.61410788381743, 'tags_acc': 0.0, 'token_acc': 100.0}

我查阅了Spacy官方文档但未找到相关说明,请问这些输出中的各个键分别代表什么含义?


各指标含义解析

别担心,我来给你逐个拆解这些指标的含义——其实因为你只训练了NER(命名实体识别)模块,没有涉及句法分析、词性标注这些功能,所以相关指标显示0是完全正常的:

  • uas: 无依存关系标注准确率(Unlabeled Attachment Score),用来衡量模型预测的依存句法弧是否和标注数据一致,只看弧的连接是否正确,不管标签是什么。由于你没训练依存句法模块,所以这个值为0。
  • las: 有依存关系标注准确率(Labeled Attachment Score),比uas更严格,不仅要求依存弧连接正确,还要求依存标签(比如主谓、动宾)也完全匹配。同样因为没训练相关模块,值为0。
  • ents_p: NER精确率(Precision),指模型预测出来的实体中,真正属于标注实体的比例,计算公式是 正确预测的实体数 / 所有预测的实体数。这个值越高,说明模型“乱标”的错误越少。
  • ents_r: NER召回率(Recall),指真实存在的实体中,被模型成功识别出来的比例,计算公式是 正确预测的实体数 / 所有真实的实体数。这个值越高,说明模型“漏标”的错误越少。
  • ents_f: NER F1分数,是精确率和召回率的调和平均数,计算公式是 2*(精确率*召回率)/(精确率+召回率)。它综合了前两个指标的表现,是衡量NER模型整体性能的核心指标之一。
  • tags_acc: 词性标注准确率(POS Tagging Accuracy),指模型预测的词性标签和标注数据一致的比例。你没训练词性标注模块,所以值为0。
  • token_acc: 分词准确率(Tokenization Accuracy),指模型的分词结果和标注数据的分词完全匹配的比例。这里显示100%,说明你的模型在分词环节完全没问题。

内容的提问来源于stack exchange,提问作者Evan Lalo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 09:07:04