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的调和平均数。