评价Spacy训练的NER模型的最佳指标是什么?

时间:2019-09-01 16:54:05

标签: machine-learning spacy ner

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

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

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

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

在上述情况下,我们的结论应该是什么?

以下是记分器的全部结果,其中p =精度,r =召回率,f = F1得分...。它具有整体表现和实体明智的表现。

{
'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}

请提出建议。

1 个答案:

答案 0 :(得分:0)

这取决于您的应用程序。更糟糕的是:缺少实体,还是错误地将某物标记为实体?如果无法标记实体(假阴性)很不好,那么您可以召回。如果错误地将一个非实体标记为一个实体(假阳性)是不好的,那么您就在乎精度。如果您同时关心精度和精度,请使用F_1。如果您关心精度(误报)是召回率(误报)的两倍,请使用F_0.5。您可以对任何b进行F_b表达您所关心的事情。 Wikipedia page for F Score

上显示并说明了该公式

编辑:回答原始帖子中的直接问题:

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