簡體   English   中英

自定義Spacy NER模型的總體F得分與單個實體F得分之間存在較大差異

[英]Large difference between overall F Score for a custom Spacy NER model and Individual Entity F Score

我正在使用Spacy在具有6個實體的5000個文本條目的樣本上訓練自定義NER模型。 在評估一個看不見的樣本(500個文本條目)的訓練模型時,我為整體模型獲得的F分數( 93.8 )在任何單個實體的F分數之間都有很大差異。 有人可以幫助我了解整體F分數是如何計算的,為什么整體F分數和單個實體分數之間有如此大的差異?

我使用Spacy構建了自己的自定義命名實體識別(NER)模型。 我的訓練數據集的大小為5000,包含6個實體。 此外,我在500個樣本上測試了我的模型,並使用ScorerGoldParse評估了模型。

這是我用於評估測試數據性能的代碼-

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

這是我得到的結果-

{'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得分與單個實體得分之間有什么關系?

我認為這是一個錯誤,應在下一版本中修復。 您可以在此處查看詳細信息: https : //github.com/explosion/spaCy/issues/3968

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM