可视化信息提取中的 F 分数差异

数据挖掘 nlp 信息检索 合奏 f1score
2021-09-18 18:29:42

我有几个语料库和 NLP 系统(包括这些系统的输出的一些合并集合,组合在并集和交集中),我用它们为语料库中所有文档的每个语料库提取了注释跨度集 {(begin, end)} 和将跨度集与每个语料库各自的黄金标准进行比较,从而获得 F 分数、精度和召回率的标准度量。

我试图定性地评估为什么某些系统在 F 分数上的表现不如特定的集成组合,所以我认为最简单的方法是生成精确召回或 ROC 曲线。

该任务只是一个简单的二元分类:一段文本被注释(标记为 1)或没有注释(标记为 0)。

对于系统预测和黄金标准,语料库中的每个文档都有相同长度的 numpy 向量,因此我计划在尝试生成我的 ROC 曲线时y_true使用这些向量。y_predict

假设我将它们全部绘制在同一张图上,这是观察我的 F 分数行为的好方法吗?如果没有,任何关于更好方法的建议将不胜感激。

1个回答

是的,我认为这是一种合理的方法,也是比较不同系统的好方法。

ROC 曲线比较通常比原始性能分数提供更多信息,但它仍然很笼统。如果您想观察更多细节,您还可以尝试查看特定的实例组。一种方法是为每个实例计算有多少系统对其进行正确分类:几乎总是正确分类的实例是“容易”的,相反,几乎总是错误分类的实例是“难”。看看不同系统的“硬”实例会发生什么通常很有趣。您可以采用“硬”实例的子集并仅在这些实例上计算性能或 ROC 曲线,以便更准确地区分最佳系统。

作为记录,如果这对您的任务有意义,您可能还需要考虑更灵活的文本跨度评分方法:目前,您的评估似乎只考虑预测准确跨度的答案正确。您可以考虑计算跨度部分正确的事实,例如通过计算正确注释的标记数。