对于这些个概念的解释网上数不胜数,今天在NLP中遇到一个有意思的问题,把这些概念搬到了多分类问题中,感觉之前自己对于这些概念理解还不够透彻,记录一下收获:
直接拿一个案例来说吧:
上述是一个NLP中的案例,TAR(hyponym)代表下义词,HYP(hypernym)代表上义词,B代表这个单词是一个完整词语的开头,I代表不是开头,例如:Stephen, Hawking是一个完整的词,Stephen就是B-TAR,Hawking是I-TAR。O代表既不是上义词也不是下义词。
题目中明确说明只看phrase level的匹配,在给出的example中:
在上述example中,最难解释的就是(B-HYP I-HYP),它对应的ground truth是B-HYP,所以按照FP来看,它给出的不是‘O’(负样本),预测出是正样本,而且也预测错了,所以算是FP,而从FN角度来看,B-HYP没有被预测出来,所以它同时又算FN。
其实FP、FN等这样的概念大多时候是用在二分类问题中的。网上解释说在多分类问题中,每一个问题都被单独看做一个二分类问题,在此情况下也可以用FP等概念,但是私以为这样的解释不够让人满意,反倒是这道题有它的特殊之处,是一个三分类问题,但是又有正负的概念,O算负样本,其他两个算正样本,这样还可以勉强解释。
当然有了这个解释,根据F1的公式F1 = 2TP/(2TP + FP + FN)算出来就没问题了,但是感觉这样理解非常的困难,而从precision、recall的角度要好很多。
在example中,所有的positive label有4个,预测正确的positive label有1个,预测出的的positive label有3个,根据这个很容易得到recall=0.25,precision=0.3333。再根据F1 = 2 * precision * recall/(precision + recall)会得到同样的结果,要好理解很多。
precision和recall的定义是非常明确的,在多分类问题应该尽量避开使用FP等概念,否则会感觉很confusing。
网友评论