如何在 sklearn-crfsuite 中找回不正确的 NER 预测

How to get back incorrect NER predictions in sklearn-crfsuite

我正在使用 sklearn-crfsuite 执行 NER。我正在尝试将实体提及案例中提及的实体报告为真阳性(预测和预期正确,即使没有实体)、假阳性(预测说是,预期为否)或假阴性(预测为否,预期为是).

除了基于 tag/token 的 NER 性能摘要统计之外,我看不出如何获取任何其他信息。

我可以用不同的方式对实体提及进行分组,例如:正确的、不正确的、部分的、丢失的、虚假的。我可以自己围绕它编写一大堆代码来尝试完成这个(并且可能必须这样做),但是必须有一个调用才能获取此信息?

以下是为获取汇总统计信息而进行的一些调用:

from sklearn import metrics
report = metrics.classification_report(targets, predictions,
                                       output_dict=output_dict)
precision = metrics.precision_score(targets, predictions,
                                    average='weighted')
f1 = metrics.f1_score(targets, predictions, average='weighted')
accuracy = metrics.accuracy_score(targets, predictions)

获得您提到的指标(即正确、不正确、部分、缺失、虚假)并不是那么简单,我认为这些指标与引入的 SemEval'13 挑战相同。

我还需要根据这些指标报告一些结果,最后自己编写代码:

我正在与其他人一起工作,我们计划将其作为可以轻松与开源 NER 系统集成的软件包发布 and/or 阅读像 CoNLL 这样的标准格式。欢迎加入并帮助我们:)