我用 Apache uimaFIT 和 DKPro 构建的命名实体识别 (NER) 管道可识别文本(例如人员、位置、组织等)中的命名实体(现在称为数据类型)。
我有一个黄金语料库和一个结果语料库,我想计算精度、召回率和 F1 分数。截至目前,我计算这些指标是这样的:
1. Calculate precision, recall and F1 score from TP, FP and FN per datatype per document
2. Average precision, recall and F1 score per datatype for all documents
在表中,您可以在相应的数据类型行中看到步骤 2 的结果。
关于第2步:我认为计算F1分数的方式既不是宏观的也不是微观的。我以宏观方式计算精度和召回率(如这里解释的)。但我不会将 F1 分数计算为平均精度和召回率(宏观方式)的调和平均值,而是作为所有文档的每种数据类型的平均 F1 分数。与我目前的方式相比,我在宏观方式 F1 得分上获得了更高的结果。
问题:计算每种数据类型的平均 F1 分数的正确方法是什么?这两种方式对我来说似乎都是正确的。请为您的答案命名来源。
