Abh*_*hay 4 machine-learning named-entity-recognition spacy
我有 3000 个手动标记的数据集,分为训练集和测试集 我已经使用 SpaCy 训练了 NER 模型,以提取 8 个自定义实体,如“ACTION”、HIRE-DATE、STATUS 等...为了评估我正在使用 SpaCy 的模型得分手。
输出中没有准确性指标,我不确定应该考虑哪个指标来决定模型性能是好还是坏?
有几种情况,精度较低,但召回率为 100,且 f1 也较低,例如:
'LOCATION': {'p': 7.142857142857142, 'r': 100.0, 'f': 13.333333333333334},
Run Code Online (Sandbox Code Playgroud)
在上述情况下,我们的结论应该是什么?
以下是记分器的完整结果,其中 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}
Run Code Online (Sandbox Code Playgroud)
请建议。
这取决于您的应用程序。更糟糕的是:缺少一个实体,或者错误地将某些东西标记为实体?如果未能标记实体(假阴性)很糟糕,那么您就关心召回率。如果错误地将非实体标记为实体(误报)很糟糕,那么您关心的是精度。如果您同时关心精度和召回率,请使用 F_1。如果您关心的精度(误报)是召回率(误报)的两倍,请使用 F_0.5。你可以对任意 b 进行 F_b 来表达你关心的事情。F 分数的维基百科页面上显示并解释了该公式
编辑:回答原始帖子中的直接问题:
系统在 LOCATION 和 3 个日期实体上表现不佳。其他看起来都不错。如果是我,我会尝试使用 NER 将所有日期提取为一个实体,然后尝试构建一个单独的系统(基于规则或分类器),以区分不同类型的日期。对于位置,您可以使用仅专注于地理解析的系统,例如Mordecai。
| 归档时间: |
|
| 查看次数: |
2217 次 |
| 最近记录: |