首页 > 其他分享 >BLEU(Bilingual Evaluation Understudy)

BLEU(Bilingual Evaluation Understudy)

时间:2024-11-13 15:57:57浏览次数:1  
标签:BLEU 翻译 mat Understudy 机器翻译 cat gram Evaluation

BLEU

BLEU ( Bilingual Evaluation Understudy ) 是一种常用的自动化评估机器翻译(MT)质量的指标,用于衡量机器翻译系统输出与参考翻译之间的相似度。它被广泛应用于自然语言处理(NLP)领域,特别是在机器翻译任务中,用来量化翻译结果的质量。

BLEU的工作原理:

BLEU 是基于 n-gram(即由n个词组成的词组)的精确度来计算的,具体过程如下:

  1. n-gram 匹配: BLEU计算翻译结果和参考翻译中n-gram(n-个词的组合)的重合程度。通常,n的取值范围是1到4,分别计算1-gram2-gram3-gram4-gram的精确度。

  2. 精确度: BLEU通过计算机器翻译输出中与参考翻译中相同的n-gram数量来得到精确度。精确度定义为:

\[\text{Precision}_n = \frac{\text{Count of matching n-grams}}{\text{Total number of n-grams in machine output}} \]

换句话说,就是机器翻译输出中的n-gram有多少与参考翻译的n-gram一致。

  1. 加权平均: 对不同n-gram的精确度进行加权平均,通常使用几何平均来综合考虑不同n-gram的精确度。例如,对于1-gram到4-gram的精确度,BLEU会使用以下公式计算加权平均:

\[\text{BLEU} = \exp \left( \sum_{n=1}^{N} w_n \log P_n \right) \]

  1. 其中,PnP_nPn 是n-gram的精确度,wnw_nwn 是对应的权重。

  2. 惩罚因子(Brevity Penalty): BLEU还引入了一个简短惩罚(Brevity Penalty, BP),用于惩罚那些翻译过短的输出。这个惩罚因子避免了机器翻译通过输出过短的翻译来提高精确度的情况。简短惩罚的计算公式为:

\[BP = \begin{cases} 1 & \text{if the machine output length} \geq \text{reference output length} \\ \exp\left( 1 - \frac{\text{reference length}}{\text{output length}} \right) & \text{if the machine output length} < \text{reference output length} \end{cases} \]

  1. 最终得分: 最终的BLEU得分是加权精确度与惩罚因子的乘积,结果通常是一个介于0到1之间的值,或者按10的对数变换后显示为一个更便于阅读的分数(0到100之间)。

BLEU的优点:

  • 自动化:BLEU不需要人工干预,能够快速计算,是自动评估机器翻译质量的有效工具。

  • 简便有效:BLEU计算简便,广泛应用于机器翻译系统的性能评估,尤其是在没有大量人工标注的情况下。

BLEU的局限性:

  • 局限于n-gram匹配:BLEU只关注n-gram之间的匹配,可能忽略了翻译中的一些语法、词汇或语境上的差异。它不考虑翻译的流畅度和语义的准确性。

  • 参考翻译的依赖:BLEU依赖于参考翻译集的质量和数量,若参考翻译不充分,BLEU的评估可能不准确。

  • 无法衡量语义:BLEU仅仅通过精确度来评价翻译结果,但无法捕捉到语义的丰富性或上下文的适当性,不能完全反映机器翻译的质量。

总结:

BLEU是一种计算机器翻译精确度的指标,通过比较机器翻译结果与参考翻译中的n-gram匹配程度来评估翻译的质量。它具有自动化、快速和简便等优点,但也存在无法完全反映语义、语法等方面的局限性。因此,尽管BLEU是衡量翻译质量的常用工具,但它通常需要与人工评估或其他自动评估指标(如ROUGE、METEOR等)一起使用,以获得更全面的评估结果。

Examples:

参考翻译:

  • 参考翻译 1: "The cat is on the mat."

  • 参考翻译 2: "There is a cat on the mat."

  • 参考翻译 3: "A cat sits on the mat."

机器翻译输出:

  • 机器翻译输出: "The cat is sitting on the mat."

我们将计算机器翻译输出和参考翻译之间的 BLEU 得分。

  1. 计算 n-gram 精确度(Precision):

首先,我们计算 1-gram2-gram3-gram4-gram 的精确度。

1-gram:

我们从机器翻译输出和参考翻译中提取出每个单独的单词。

  • 机器翻译输出中的 1-gram:["The", "cat", "is", "sitting", "on", "the", "mat"]

  • 参考翻译 1 中的 1-gram:["The", "cat", "is", "on", "the", "mat"]

  • 参考翻译 2 中的 1-gram:["There", "is", "a", "cat", "on", "the", "mat"]

  • 参考翻译 3 中的 1-gram:["A", "cat", "sits", "on", "the", "mat"]

现在,计算机器翻译输出中和参考翻译中的单词匹配数:

  • 机器翻译输出的 "The" 在参考翻译 1 和 2 中都有,"cat" 在参考翻译 1、2 和 3 中都有,"is" 在参考翻译 1 和 2 中都有,"on" 在参考翻译 1、2 和 3 中都有,"the" 在参考翻译 1、2 和 3 中都有,"mat" 在参考翻译 1、2 和 3 中都有。

这些匹配的 1-gram 数量是:6(匹配 "The", "cat", "is", "on", "the", "mat")。

机器翻译输出的 1-gram 总数是 7(总共 7 个单词),所以 1-gram 精确度为:$$\text{Precision}_1 = \frac{6}{7} = 0.857$$

2-gram:

接下来,我们计算 2-gram(两个连续单词)的匹配。

  • 机器翻译输出中的 2-gram:["The cat", "cat is", "is sitting", "sitting on", "on the", "the mat"]

  • 参考翻译 1 中的 2-gram:["The cat", "cat is", "is on", "on the", "the mat"]

  • 参考翻译 2 中的 2-gram:["There is", "is a", "a cat", "cat on", "on the", "the mat"]

  • 参考翻译 3 中的 2-gram:["A cat", "cat sits", "sits on", "on the", "the mat"]

匹配的 2-gram 数量是:["The cat", "cat is", "on the", "the mat"]。

这些匹配的 2-gram 数量是 4(匹配 "The cat", "cat is", "on the", "the mat")。

机器翻译输出的 2-gram 总数是 6(总共 6 个 2-gram),所以 2-gram 精确度为:$$\text{Precision}_2 = \frac{4}{6} = 0.667$$

3-gram:

接下来是 3-gram

  • 机器翻译输出中的 3-gram:["The cat is", "cat is sitting", "is sitting on", "sitting on the", "on the mat"]

  • 参考翻译 1 中的 3-gram:["The cat is", "cat is on", "is on the", "on the mat"]

  • 参考翻译 2 中的 3-gram:["There is a", "is a cat", "a cat on", "cat on the", "on the mat"]

  • 参考翻译 3 中的 3-gram:["A cat sits", "cat sits on", "sits on the", "on the mat"]

匹配的 3-gram 数量是:["The cat is", "on the mat"]。

这些匹配的 3-gram 数量是 2(匹配 "The cat is", "on the mat")。

机器翻译输出的 3-gram 总数是 5(总共 5 个 3-gram),所以 3-gram 精确度为:$$\text{Precision}_3 = \frac{2}{5} = 0.4$$

4-gram:

最后是 4-gram

  • 机器翻译输出中的 4-gram:["The cat is sitting", "cat is sitting on", "is sitting on the", "sitting on the mat"]

  • 参考翻译 1 中的 4-gram:["The cat is on", "cat is on the", "is on the mat"]

  • 参考翻译 2 中的 4-gram:["There is a cat", "is a cat on", "a cat on the", "cat on the mat"]

  • 参考翻译 3 中的 4-gram:["A cat sits on", "cat sits on the", "sits on the mat"]

匹配的 4-gram 数量是:["on the mat"]。

这些匹配的 4-gram 数量是 1(匹配 "on the mat")。

机器翻译输出的 4-gram 总数是 4(总共 4 个 4-gram),所以 4-gram 精确度为:$$\text{Precision}_4 = \frac{1}{4} = 0.25$$

  1. 计算 BLEU 得分:

为了计算 BLEU 得分,我们通常使用 1-gram 到 4-gram 的加权几何平均。假设每个 n-gram 的权重相等,那么加权几何平均计算如下:$$\text{BLEU} = \exp\left( \frac{1}{4} \left( \log(0.857) + \log(0.667) + \log(0.4) + \log(0.25) \right) \right)$$

  1. 简短惩罚(Brevity Penalty):

如果机器翻译输出的长度比参考翻译的长度短,则需要应用简短惩罚。假设机器翻译输出的句子长度为 7 个单词,而参考翻译的平均长度为 8 个单词,简短惩罚将会应用。

简短惩罚的计算公式为:

\[BP = \begin{cases} 1 & \text{if the machine output length} \geq \text{reference output length} \\ \exp\left( 1 - \frac{8}{7} \right) \approx 0.84 & \text{if the machine output length} < \text{reference output length} \end{cases}\]

  1. 最终 BLEU 得分:

最终的 BLEU 得分是加权精确度与简短惩罚的乘积: $$BLEU=BLEU×BP$$

标签:BLEU,翻译,mat,Understudy,机器翻译,cat,gram,Evaluation
From: https://www.cnblogs.com/BronyaSilverwing/p/18544137

相关文章

  • MMdetection 问题报错 mmdet/evaluation/metrics/coco_metric.py data[‘category_id
    方案一:有人说在自己定义的conifg文件中增加 metainfo={'classes':('class1','class2','class2',),'palette':[(220,20,60),(221,11,22),(221,11,42),]}方案二:修改mmdet/evaluation/metrics文件的内......
  • LLM - 理解 多模态大语言模型(MLLM) 的 评估(Evaluation) 与相关技术 (六)
    欢迎关注我的CSDN:https://spike.blog.csdn.net/本文地址:https://spike.blog.csdn.net/article/details/142364884免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。评估(Evaluation)是研发多模态大语言模型(MLLM)的重要部分,也为模型的优化提......
  • flutter开发将项目从flutter版本3.19.6升级到3.24.3过程遇到问题记录Type 'Unmodifiab
    1.androidstudio修改当个项目的flutter版本,不影响其他项目工程的flutter编译版本1.1项目右上角点击‘设置’图标,选择Settings...进去到项目的设置页面,选择fluttersdk路径1.2项目右上角点击‘设置’图标,选择Settings...进去到项目的设置页面,选择dartsdk路径2.点开打开......
  • An unbiased evaluation of environment management and packaging tools
    forward:https://alpopkes.com/posts/python/packaging_tools/ LastupdateThispostwaslastupdatedonAugust29th,2024.MotivationWhenIstartedwithPythonandcreatedmyfirstpackageIwasconfused.Creatingandmanagingapackageseemedmuchhard......
  • An unbiased evaluation of environment management and packaging tools
    forward:https://alpopkes.com/posts/python/packaging_tools/ LastupdateThispostwaslastupdatedonAugust29th,2024.MotivationWhenIstartedwithPythonandcreatedmyfirstpackageIwasconfused.Creatingandmanagingapackageseemedmuchhard......
  • LogicBench: Towards Systematic Evaluation of Logical Reasoning Ability of Large
    本文是LLM系列文章,针对《LogicBench:TowardsSystematicEvaluationofLogicalReasoningAbilityofLargeLanguageModels》的翻译。LogicBench:大型语言模型逻辑推理能力的系统评价摘要1引言2相关工作3LogicBench4结果和分析5结论局限性摘要最近......
  • M3KE: A Massive Multi-Level Multi-Subject Knowledge Evaluation Benchmark for Chi
    文章目录题目摘要简介相关工作M3KE实验结论题目M3KE:面向中文大型语言模型的海量多层次多学科知识评估基准论文地址:https://arxiv.org/abs/2305.10263项目地址:https://github.com/tjunlp-lab/M3KE摘要    大型语言模型最近在跨任务泛化、指令跟随等多个......
  • 【学习日记3】DAIL-SQL论文:Text-to-SQL Empowered by Large Language Models: A Bench
    PS:自己回顾用的ABSTRACT        大型语言模型(LLMs)已成为Text-to-SQL任务的新模式。然而,缺乏系统的基准测试限制了有效、高效和经济的基于LLM的Text-to-SQL方案的发展。为了解决这一挑战,本文首先对现有的提示工程方法进行了系统且广泛的比较,包括问题表示、示例......
  • LLM evaluation
     TinyEvalhttps://github.com/datawhalechina/tiny-universe/tree/main/content/TinyEvalhttps://huzixia.github.io/2024/05/29/eval/https://meeting.tencent.com/user-center/shared-record-info?id=8b9cf6ca-add6-477b-affe-5b62e2d8f27e&from=3   首先,根据目标数......
  • Fotify扫描问题Dynamic Code Evaluation:Code Injection
    在使用fotify代码扫描时,程序中JavaScript的eval()函数使用的地方会报DynamicCodeEvaluation:CodeInjection,解释为动态代码评估、代码注入,Web开发中。这两种风险都可能导致严重的安全问题.其安全问题大致描述为1、动态执行的代码可能会包含恶意代码,导致安全漏洞......