序列标注的 p、r、f 评价指标盲点

我们知道在序列标注可以做的任务中,一般有如下定义(以 NER 任务为例):
t a g _ n u m : 样 本 实 体 ( 需 要 被 标 注 ) 的 个 数 p r e d _ n u m : 预 测 中 标 注 的 实 体 个 数 c o r r e c t _ n u m : 预 测 正 确 的 个 数 tag\_num:样本实体(需要被标注)的个数 \\ pred\_num:预测中标注的实体个数 \\ correct\_num:预测正确的个数 tag_numpred_numcorrect_num
而我们一般利用序列标注解决 NER 任务使用的 precision、recall、F1 评价指标的计算方法如下:
p r e c i s i o n = c o r r e c t _ n u m / p r e d _ n u m r e c a l l = c o r r e c t _ n u m / t a g _ n u m f 1 = ( 2 ∗ p r e c i s i o n ∗ r e c a l l ) / ( p r e c i s i o n + r e c a l l ) precision = correct\_num / pred\_num \\ recall = correct\_num / tag\_num \\ f1 = (2*precision*recall) / (precision + recall) precision=correct_num/pred_numrecall=correct_num/tag_numf1=(2precisionrecall)/(precision+recall)
但是这里出现了一个问题,为了引出这个问题,先来看一下 precision 和 recall 的定义:

img

由定义结合一开始说的,我们可以知道
p r e d _ n u m = T P + F P (1) pred\_num = TP+FP \tag1 pred_num=TP+FP(1)

t a g _ n u m = T P + F N (2) tag\_num = TP+FN \tag2 tag_num=TP+FN(2)


那么现在我说出问题:该如何理解序列标注完成 NER 任务时的 TP、FN、FP、TN 呢?换句话说如何理解这种情况下的正例和负例呢?

事实上在这个情况下,因为我们任务本身只预测正例,所以我们不关心反例,反例是隐性存在的,即其实没有明确的反例。

基于上述,我们预测的都是正例,那么当然 p r e d _ n u m = T P + F P pred\_num = TP+FP pred_num=TP+FP,标签也都是正例的,所以 t a g _ n u m = T P + F N tag\_num = TP+FN tag_num=TP+FN

至于 FN、FP、TN ,因为反例在这个任务中不被关注,那么这些也没有十分明确的表示(当然也是可以解释的,但是确实没有必要)。TN 无法依靠上面统计的个数算出,而 FN、FP 分别可以根据 (1)、(2) 式求出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Drdajie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>