机器学习中的 BLEU 分数2025年2月3日 | 阅读 7 分钟 神经机器翻译 (NMT) 是自然语言处理 (NLP) 中的另一项标准任务,涉及将文本从一种语言翻译成另一种语言。BLEU (Bilingual Evaluation Understudy) 是用于评估机器翻译文本质量的自动评估指标的名称。在本文中,我们将结合 Python 代码的特定参考,讨论 BLEU 分数是如何在数学细节上工作的。 BLEU 分数是用于评估翻译在片段级别的质量的一种方法。请注意,BLEU 分数也被提及为在机器翻译任务评估中使用的度量。它通过将机器翻译句子的 n-gram 与人工翻译句子的 n-gram 进行匹配来计算。一般来说,BLEU 与衣物的长度与承载能力成反比,但这可能因翻译模型的形态而有显著差异。下图展示了 BLEU 分数与句子数量的不同图表。 为此,我们需要为 BLEU 分数形成一个方程,该方程衡量候选翻译与参考翻译的相似程度。 在数学上,BLEU 分数由以下公式给出: ![]() 其中
修改的 n-gram 精度 (pi)修改精度 (pi) 的定义是包含候选翻译中的所有 n-gram,但仅包含可以至少在一个参考翻译中找到的 n-gram;然后将此值裁剪到与候选翻译中的 n-gram 数量完全相同的值。 ![]() 其中 Count Clip(计数裁剪):这是一个函数,通过在所有参考翻译中该 n-gram 的最大计数(Max Ref Count)来减少匹配的 n-gram 相等的数量。 matchesi:这是 i 阶 n-gram 与候选翻译中的任何参考翻译完全匹配的数量。 max-ref-count:这是特定 i-ngram(i 阶 ngram)在所有参考翻译中使用的最大次数。 candidate-n-grams:这是候选翻译中 i 阶 n-gram 的总数。 长度惩罚 (BP)BLEU 惩罚按公式 4 计算,以惩罚比参考翻译短的翻译。其数学定义为: ![]() 其中, r 与候选翻译中的字符数有关。 c 是所有参考翻译长度的平均值。 计算 BLEU 分数现在让我们通过一个法语到英语的翻译示例来理解 BLEU 分数的计算过程。 示例 引用 参考 1: ["the", "cat", "sat", "on", "the", "mat"] 参考 2: ["the", "cat", "is", "on", "the", "mat"] 预测: ["the", "cat", "sat", "on", "the", "mat"] 计算 BLEU 分数的步骤 1. 单词精度 (P1)
2. 二元语法精度 (P2)
3. 三元语法精度 (P3)
4. 4-gram 精度 (P4)
5. 长度惩罚 (BP)
6. BLEU 分数计算
代码步骤
代码 输出 BLEU score: 1.0 说明 代码应用 NLTK 的 sentence_bleu 算法来获取翻译的 BLEU 分数。首先,它调用必要的模块,然后确定 uni-gram、bi-gram、tri-gram 和 4-gram 精度的权重。参考翻译和机器翻译文本被定义为单词列表。然后根据这些输入确定 BLEU 分数,并将值打印出来。本示例使用了与第一个示例不同的输入文本样本,以展示该函数的多功能性。 BLEU 分数的性能尽管研究表明 BLEU 对人类判断敏感,但它仍然是评估新指标的标准。然而,它有一些批评。
BLEU 分数的应用传统上,BLEU 分数用于评估机器翻译,因此称为“双语”。然而,现在它已应用于各种涉及文本生成的 NLP 任务,包括:
结论BLEU (Bilingual Evaluation Understudy) 分数通过比较翻译文本中的 n-gram(unigrams、bigrams、trigrams 等)与参考翻译来衡量机器生成的翻译质量。它为每个 n-gram 阶数计算精度,并应用长度惩罚来惩罚较短的翻译。该指标使用不同 n-gram 级别的权重来实现,以评估翻译的准确性。尽管 BLEU 被广泛使用,但它存在局限性,例如对分词的敏感性和单参考使用,这使其对于某些语言和任务的效果较差。它仍然是评估机器翻译和其他 NLP 文本生成任务的关键工具。 |
我们请求您订阅我们的新闻通讯以获取最新更新。