SIGHAN15 CSC任务当中的评价指标
简介
在文本拼写纠错任务(Chinese Spell Corrction)当中,评价指标是一个令人抓狂的问题,笔者一直没能梳理明白。在SIGHAN举办的三届CSC任务当中评价指标也经过了一些变化,本文对SIGHAN15当中的评价指标作简要的整理。
一.混淆矩阵
在SIGHAN15当中,将查错、纠错分别看作是二分类的问题,采用混淆矩阵的方法对模型进行评价。由于查错纠错任务涉及到对检错结果和纠错结果两个过程的评价,因此混淆矩阵中各项的含义需要弄清楚才行。
False Positive Rate (FPR) = FP / (FP+TN) Accuracy = (TP+TN) / (TP+FP+TN+FN) Precision = TP / (TP+FP) Recall = TP / (TP+FN) F1= 2 *Precision*Recall/(Precision+Recall)
为了更进一步的理解各项的意义,本文从SIGHAN15论文集综述当中搬运了一些例子。假设共检查了5个句子,他们的标准样例和输出样例如下。
(1)标准样例
A, 0 B, 0 C, 3, 健,4, 康 D, 8, 误, 41, 情 E, 10, 观
(2)输出样例
A, 5, 玩 B, 0 C, 3, 件, 4, 康 D, 8, 误, 41, 情 E, 11,观
(3)计算结果
在CSC任务中,查错和纠错作为两个任务进行评价。
在进行查错的评价过程中,对结果进行衡量时仅考虑输出样例的查错位置是否与标准样例中位置相同即可,忽略对改错字符的考察。而且需要注意的是这里的查错纠错单位都是基于句子粒度,只要当某个句子中出现误报时就对FP或者FN计数加一,当一个句子中有多处误报时依然只对FP或FN做加一操作。
在进行纠错的评价过程中,对结果进行衡量时不仅要考虑样例的查错位置是否与标准相同,同时要考虑该位置上的改正是否正确。
1 False Positive Rate (FPR) = 0.5 (=1/2) Notes: {A, 5} / {A , 0; B, 0} 2 Detection-level TP = {C, D} -原句中存在字符错误,且查错正确。(有错,报错正确) TN = {B} -原句中不存在字符错误,且查错正确(无错,未报错)。 FP = {A, E} -原句中存在字符没有错误,但查错失败(无错,误报错)。 FN = {E} -原句中存在字符错误,但报错失败(有错,未报错)。(位置10出错未报) Accuracy =(TP+TN) / (TP+FP+TN+FN)=0.6 (=3/5) Notes: {B, C, D} / {A, B, C, D, E} Precision =TP / (TP+FP) =0.5 (=2/4) Notes: {C, D} / {A, C, D, E} Recall =TP / (TP+FN) = 0.67 (=2/3) Notes: {C, D} / {C, D, E} F1= 2 * Precision * Recall / (Precision + Recall) (=2*0.5*0.67/(0.5+0.67)) 3 Correction-level TP = {D} - 有错,改正正确 TN = {B} - 没错,未进行修改 FP = {A, C, E} - 没有错误,改错了 FN = {C, E} - 存在错误,没有改(包含改错的情况) Accuracy =(TP+TN) / (TP+FP+TN+FN) = 0.4 (=2/5) Notes: {B, D}/{A, B, C, D, E} Precision =TP / (TP+FP) 0.25 (=1/4) Notes: {D} / {A, C, D, E} Recall =TP / (TP + FN) 0.33 (=1/3) Notes: {D} / {C, D, E}