如何评估在Spacy中训练的NER模型的有效指标

我有一组3000条手动标记的数据集,分为训练集和测试集。我使用Spacy训练了NER模型,以提取8个自定义实体,如“ACTION”、HIRE-DATE、STATUS等…为了评估模型,我使用了Spacy的评分器(Scorer)。

输出中没有准确率(Accuracy)指标,我不确定应该考虑哪个指标来判断模型性能的好坏?

有几种情况是精确度(precision)低但召回率(recall)为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}

请建议。


回答:

这取决于你的应用。哪种情况更糟:漏掉一个实体,还是错误地标记一个非实体为实体?如果漏标一个实体(假阴性)是坏的,那么你应该关注召回率。如果错误地标记一个非实体为实体(假阳性)是坏的,你应该关注精确度。如果你同样关心精确度和召回率,就使用F_1。如果你对精确度(假阳性)的关注是召回率(假阴性)的两倍,就使用F_0.5。你可以使用任何b值的F_b来表达你关注的重点。公式可以在维基百科的F分数页面找到并解释。

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

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注