两个数据子集的 BLEU 分数的平均值与总分不同

Average of BLEU scores on two subsets of data is not the same as overall score

为了评估序列生成模型,我使用 BLEU1:BLEU4。我将测试集分成两组,分别计算每组和整个测试集的分数。令人惊讶的是,我从整个测试集得到的结果并不是我从每组得到的结果的加权平均值。例如,考虑我在一组及其两个子集上获得的 BLEU4 分数:

set1, 866个元素: 0.0001529267908

set2, 1010个元素: 0.1625387989

, 1876 个元素: 0.3063472152

我应该如何聚合两个子集的结果以获得整体结果?

注意:我知道 set1 中的所有元素都短于 4 个标记,这就是为什么 BLEU4 在那里几乎为零的原因。

BLEU 分数根据定义 non-linear。正如您在 Papineni et al.:

的原始论文中看到的

它是两项的乘积:简洁惩罚 (BP) 和 n-gram 精度的调和平均值。简洁惩罚和调和平均数都不是关于平均的线性运算。

关于您应该报告的内容:由于两个测试集看起来根本不同,最好的选择是报告两个不同的数字。

我不知道你的任务是什么,但鉴于所需的输出很短,BLEU 可能不是评估的最佳选择。您可能会考虑一些 edit-based(例如 TER),甚至简单的准确性也可能做得很好。