NLP领域不同于传统的机器学习领域拥有非常客观的评级指标,同时由于LLM的生成能力的强大,生成的文本质量之高,让生成能力的评价越来越主观。传统的指标根本无法进行评价,但是还是有必须要学习一下过往的评价指标。以下我们针对一些常用的指标进行介绍:
- 传统机器学习指标:准确率、精确率、召回率、F1
- 文本生成指标:PPL
- 文本翻译指标:BLEU
- 文本摘要生成指标:ROUGE
以下就是我们对这些指标的详细介绍:
1 机器学习指标
机器学习中常用的指标为准确率、精确率、召回率和F1分数。
准确率:所有样本中预测正确的概率。
精确率:预测为正的样本中实际为正的概率。
召回率:实际为正的样本中预测为正的概率。
F1分数:精确率和召回率的调和平均数。
Macro-F1:针对每一个类计算F1分数后取平均,赋予每一类相同的权重。不平衡数据集使用Macro-F1指标更加公平。
Micro-F1:对全部的样本计算P、R,最后计算F1分数,赋予每一个样本相同的权重。
2 文本生成指标
一般我们使用困惑度(PPL)来检测长文本的生成质量,简单来说PPL就是对交叉熵取指数。
3 文本翻译指标
一般我们使用BLEU来检测翻译的质量。BLEU基于N-Gram分词和精确率。
3.1 N-Gram
首先我们先介绍一下N-Gram:
1-Gram:{“i”, “am”, “a”, “student”}
2-Gram:{“i am”, “am a”, “a student”}
3.2 N-gram中的精确率
output:{“i”, “am”, “a”, “student”}
reference:{“she”, “is”, “a”, “student”}
精确率 = (output和reference中同时出现的单词) / (output中出现的单词) = 2/4 = 1/2
3.3 Clipped Precision
由于precision遇到重复词会特别大,例如:
output:{“she”, “she”, “she”, “she”}
reference:{“she”, “is”, “a”, “student”}
则此时的precision为 4 / 4 = 1。
这显然是有问题的,所以需要限制output中每个重复出现的次数的最大值是该重复值在reference中重复出现的次数。
则Clipped precision:1/4
3.4 BLEU
BLEU实际上就是N-gram的几何加权平均 * 惩罚项,假设N为3。
WGM = ( 1-gram precision+ 2-gram precision开平方根 + 3-gram precision开三次根 )/3 。
这里出现一个问题,如果output非常短,则会导致BLEU非常大,所以需要给短的output一个惩罚项。
假设r为reference的词数,c为output的词数。
- 当c > r时,bp=1
- 当c < r时,bp = e^(1 – r/c),e的负次方会很小
BLEU = WGM * BP
4 文本摘要生成指标
一般我们使用ROUGE来检测文本摘要的生成质量。
ROUGE和BLEU指标非常类似,都可以用来衡量生成结果和标准结果的匹配程度,不同的是ROUGE是基于召回率而不是BLEU的精确率。
常用的一般是ROUGE-N和ROUGE-L。
4.1 ROUGE-N
output:{“i”, “am”, “a”, “student”}
reference:{“she”, “is”, “a”, “student”}
ROUGE-1: 2 / 4 = 1/2
解释:
- 1 分子的2为output和reference匹配上的,”i”, “am”
- 2 分母的4为reference的次数。
所以ROUGE-N就是计算的N-gram的查全率。
4.2 ROUGE-L
P_lcs = output和reference的最大公共子序列的长度 / output的长度
R_lcs = output和reference的最大公共子序列的长度 / reference的长度
ROUGE-L的计算是P_lcs和R_lcs的调和平均数。