了解Spacy的得分手输出

时间:2018-06-01 13:41:32

标签: python spacy ner

我正在评估我使用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的文档但找不到任何内容。

谢谢!

1 个答案:

答案 0 :(得分:7)

  • UAS(未标记的附件分数)和LAS(标记的附件分数)是评估依赖性分析的标准指标。 UAS是正确分配头部的令牌的比例,LAS是头部已被正确分配正确依赖标签(主题,对象等)的令牌的比例。
  • ents_pents_rents_f是NER任务的精确度,召回率和fscore
  • tags_acc是POS标记的准确性。
  • token_acc似乎是令牌细分的精确度。