【问题标题】:What is the good metric to evaluate NER model trained in Spacy评估在 Spacy 中训练的 NER 模型的好指标是什么
【发布时间】:2020-01-04 22:55:55
【问题描述】:

我有 3000 个手动标记的数据集,分为训练集和测试集我正在使用 SpaCy 记分器。

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

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

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

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

以下是 Scorer 的完整结果,其中 p=precision, r=recall and 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}

请多多指教。

【问题讨论】:

    标签: machine-learning spacy named-entity-recognition


    【解决方案1】:

    这取决于您的应用程序。更糟糕的是:缺少实体,或错误地将某物标记为实体?如果未能标记实体(假阴性)是不好的,那么您关心召回。如果错误地将非实体标记为实体(误报)是不好的,那么您关心的是精度。如果您同时关心精度和召回率,请使用 F_1。如果您关心的精度(误报)是召回率(误报)的两倍,请使用 F_0.5。您可以对任何 b 做 F_b 来表达您关心的内容。公式在Wikipedia page for F Score上显示和解释

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

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

    【讨论】:

    • 感谢山姆的解释。在我的情况下,如果模型未能标记实体是可以的,所以我不应该关心召回。但是在第二种情况下我有一个困惑,在模型中错误地将非实体标记为实体,在我的情况下,模型错误地标记实体的情况。例如,出生日期被标记为 HIRE-DATE,这属于第二类吗? (假阳性)?我在这里有点困惑,你能详细说明一下吗?坦率地说,我发现这个精确/召回概念有点难以理解:)
    • 是的,你描述的是误报,所以降低了它的精度。我看到 HIRE-DATE 的精度是 18%,非常低
    • 一开始每个人都很难精确和回忆。但是假阴性和假阳性更容易理解,如果你认为“更少的假阳性 -> 更高的精度,更少的假阴性 -> 更高的召回率”通常就足够了
    • @Abhay - 这回答了你的问题吗?如果是这样,请考虑接受此答案。如果没有,请再次发表评论,让我知道缺少什么。
    • 谢谢山姆。这对使我的理解非常有用...在发布此问题后,我还想澄清一件事...我已经使用 SpaCy 的“nlp2.entity.beam_parse”计算了模型的置信度。我观察到的是,在少数情况下,即使实体被正确标记,置信度也非常低,例如 43%。当我调查它时,我发现训练数据中该特定实体很少出现。这是正确的结论吗?还有哪些其他因素会降低模型的信心?
    猜你喜欢
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    相关资源
    最近更新 更多