因为Ign_F1这个参数网上所解释的内容都是一致的,并且不太好理解

于是我就特地请教了YX师兄

这里特地感谢1107实验室YX师兄

F1分数

F1为精确率和召回率的调和平均数(为下部分做准备)

nlp架构图 nlp f1_nlp架构图

对于查全率,查准率,还有召回值就不过多介绍了

Ign_F1

我看网上所有的解释都是:表示在训练集、验证集和测试集中不包含关系事实的F1分数。

那么我通俗的给大家白话一下:

解释Ign_F1还是需要与DocRED数据集相结合

DocRED数据集包含3,053/1,000/1,000个实例,对应训练/验证/测试

在3053里识别实体,提取实体对。

举例:

北京是中国的首都

我们可以提取<北京,首都,中国>这个关系事实

但这只是在训练集里

在1000的测试集里可能有这句话

小王来自中国,他是北京人

我们可以提取<北京,城市,中国>这个关系事实

那么(划重点了)

在测试集里提取关系对之前

我们已经在训练集里知道了北京和中国这层关系(别管是啥关系类型,肯定是有关系的)

可能就会导致F1里的查准率和准确率,召回值产生影响

降维比喻:

就像是狼人杀里的上帝视角

知道谁是狼人(或者说谁是坏人)

谁是女巫(或者说谁是好人)

为了消除上帝视角这个隐患

我们在计算Ign_F1时,删掉已知的关系对(训练集里有的关系事实

这样再计算Ign_F1时,得到的结果更加具有真实性

比如最近在看的一篇文章里有这个实验结果

nlp架构图 nlp f1_nlp_02


我们可以看到F1的值是要比Ign_F1的值都要偏高

我猜测可能就是上述情况关系事实的影响

补充:

Ign_F1目前我看到的只出现在文档级关系抽取的论文里

(很可能是我看的论文太少)

如果我有理解不到位的地方,请直接指出!!!

对于Ign_F1的代码,等我弄明白了再写在文章后面

更新

最近在一篇论文里看到了这句话

The main evaluation metrics are Ign_F1 and F1 score following Y ao et al. (2019), where Ign_F1 refers to the F1 score that ignores the triples that appear in the annotated training data.

翻译过来

主要的评估指标是yao等人(2019)之后的Ign_F1和F1得分,其中Ign_F1指的是忽略标注训练数据中出现的三元组的F1得分。

更好的验证了以上解释的内容

二更

最近在跑另一篇代码时,显示的结果是Ignore ma_f1

如下图所示

再次佐证了 Ign F1值是忽略事实关系的分数值!!!

nlp架构图 nlp f1_python_03