评估在 Spacy 中训练的 NER 模型的好指标是什么

What is the good metric to evaluate NER model trained in Spacy

我有 3000 个手动标记的数据集,分为训练集和测试集我已经使用 SpaCy 训练了 NER 模型,以提取 8 个自定义实体,如 "ACTION"、HIRE-DATE、STATUS 等...评估我使用 SpaCy Scorer 的模型。

输出中没有准确性指标,我不确定应该考虑哪个指标来决定模型性能是好是坏?

在某些情况下,精度较低但召回率为 100 且 f1 也较低,例如:

'LOCATION': {'p': 7.142857142857142, 'r': 100.0, 'f': 13.333333333333334},

在上面的案例中,我们的结论应该是什么?

以下是 Scorer 的完整结果,其中 p=precision,r=recall 和 f=F1 score....它具有整体性能和实体方面的性能。

{
'uas': 0.0,
 'las': 0.0,
 'ents_p': 86.40850417615793,
 'ents_r': 97.93459552495698,
 'ents_f': 91.81121419927389,
 'ents_per_type': {'ACTION': {'p': 97.17682020802377,
   'r': 97.61194029850746,
   'f': 97.3938942665674},
  'STATUS': {'p': 83.33333333333334,
   'r': 96.3855421686747,
   'f': 89.3854748603352},
  'PED': {'p': 98.61751152073732,
   'r': 99.53488372093024,
   'f': 99.07407407407408},
  'TERM-DATE': {'p': 83.52272727272727,
   'r': 98.65771812080537,
   'f': 90.46153846153847},
  'LOCATION': {'p': 7.142857142857142, 'r': 100.0, 'f': 13.333333333333334},
  'DOB': {'p': 10.0, 'r': 100.0, 'f': 18.181818181818183},
  'RE-HIRE-DATE': {'p': 34.84848484848485,
   'r': 100.0,
   'f': 51.685393258426956},
  'HIRE-DATE': {'p': 18.96551724137931, 'r': 100.0, 'f': 31.88405797101449},
  'PED-CED': {'p': 100.0, 'r': 71.42857142857143, 'f': 83.33333333333333},
  'CED': {'p': 100.0, 'r': 100.0, 'f': 100.0}},
 'tags_acc': 0.0,
 'token_acc': 100.0}

多多指教。

这取决于您的应用程序。更糟糕的是:遗漏了一个实体,或者错误地将某物标记为一个实体?如果未能标记实体(假阴性)是不好的,那么您就会关心召回率。如果错误地将非实体标记为实体(误报)是不好的,那么您就会关心精度。如果您同时关心精度和召回率,请使用 F_1。如果您关心的精度(误报)是召回率(漏报)的两倍,请使用 F_0.5。你可以对任何b做F_b来表达你关心的事情。该公式在 Wikipedia page for F Score

上显示和解释

编辑:回答原文中的直接问题post:

系统在 LOCATION 和 3 个日期实体上表现不佳。其他人看起来不错。如果是我,我会尝试使用 NER 将所有日期提取为一个实体,然后尝试构建一个单独的系统,基于规则或分类器,以区分不同类型的日期。对于位置,您可以使用只专注于地理解析的系统,例如 Mordecai