zoukankan      html  css  js  c++  java
  • [DeeplearningAI笔记]序列模型3.6Bleu得分/机器翻译得分指标

    5.3序列模型与注意力机制

    觉得有用的话,欢迎一起讨论相互学习~

    我的微博我的github我的B站

    吴恩达老师课程原地址

    3.6Bleu得分

    • 在机器翻译中往往对应有多种翻译,而且同样好,此时怎样评估一个机器翻译系统是一个难题。 常见的解决方法是通过BLEU得分来进行判断

    评价机器翻译Evaluating machine translation

    Papineni K. Bleu:A Method for Automatic Evaluation of Machine Translation[J]. Proc Acl, 2002.

    • 示例 法语句子 :Le chat est sur le tapis
      • 人工翻译参考1 The cat is on the mat
      • 人工翻译参考2 There is a cat on the mat
      • 实际上两个翻译都能准确地翻译了这个法语句子,BLEU得分做的就是给定一个机器生成的翻译,这个算法能够自动地计算一个分数来评价机器翻译的好坏。如果机器翻译的语句能够与任意一个人工翻译参考相近,其就会得到很高的BLEU分数。
    • BLEU 代表 bilingual evalution understudy--双语评估替补 在戏剧界,替补演员通过学习资深演员以能够在适当时机替代资深演员。 BLEU 相当于请评估员人工评估机器翻译系统,BLEU得分 相当于一个候补者代替人类来评估机器翻译的每一个翻译结果。 BLEU得分 背后的理念是 观察机器生成的翻译,然后看生成的词是否至少出现在一个人工翻译参考之中 因此这些人工翻译的参考会包含在开发集或测试集中

    观察输出结果的每一个词看起是否出现在人工参考中

    • 衡量机器翻译输出质量的方法之一是 观察输出结果的每一个词看起是否出现在人工参考中,这被定义为机器翻译的精确度
      • 机器翻译结果MT 假设机器翻译得到一个极端的解:the the the the the the the
        • 这种情况下,得到了7个单词,并且这七个单词都出现在了两个参考中,因此根据定义这个输出的精确度是7/7 ,看上去这个结果十分好但是实际结果却不是这样。
        • 所以把出现在参考中的词在MT输出的所有词中所占的比例作为精确度评估标准并不是很有用

    改良后的精确度评估方法

    • 把每个词的计分上限定位它在参考句子中出现的最多次数, 在参考一中单词 the 出现了2次,所以上限是2。参考二中,单词the只出现了1次,取参考句子中单词出现的最大值,所以单词“the”的计分上限是2 所以机器翻译结果最终的分数是 2/7

    二元组BLEU得分 Bleu score on bigrams

    • 考虑BLEU得分不仅只考虑单个单词,还应该考虑成对的单词(相邻的单词组)的得分

    • 示例 法语句子 :Le chat est sur le tapis

      • 人工翻译参考1 The cat is on the mat
      • 人工翻译参考2 There is a cat on the mat
      • MT机器翻译 The cat the cat on the mat
    • 机器翻译中的二元组

      • Count_Clip(截断计数) 定义为算法的得分上限,上限值为二元词组出现在参考1和参考2中的最大次数。
      • 所以改进后的 Bleu分数 即为 Count_Clip之和除以Count之和
      Bigrams Count Count_Clip
      the cat 2 1
      cat the 1 0
      cat on 1 1
      on the 1 1
      the mat 1 1
      • 此例中 Bleu分数(frac{4}{6})

    N元组BLEU得分

    • 一元组Bleu得分 $$P_1=frac{sum_{unigramin hat{y}}count_{clip}(unigram)}{sum_{unigramin hat{y}}count(unigram)}$$
    • N元组Bleu得分 $$P_n=frac{sum_{n-gramin hat{y} }count_{clip}(n-gram)}{sum_{n-gramin hat{y}}count(n-gram)}$$

    Bleu 得分细节

    • (P_n) 表示n元词组这一项的BLEU得分,为了使用一个数值来评价一个机器翻译系统,需要将(P_1,P_2,P_3,P_4...)的数值整合进行计算。
    • [Bleu score=BPexp(frac{1}{4}sum^{4}_{n=1}P_n) ]

    • 使用BP进行 简短惩罚(brevity penalty) ,意思是 如果机器翻译输出了一个非常简短的翻译,则其很容易得到一个高分的Bleu值(输出的大部分词可能都出现在参考之中,但是如果我不想要很简短的翻译,则需要使用到简短惩罚) ,其是一个惩罚项,能够惩罚输出了太短的 机器翻译系统
    • 公式
      • 即如果 机器翻译的长度 大于 人工翻译输出的长度 ,BP=1,而其他情况下 BP的定义会遵从一个式子,从而减小Bleu得分的值。
    • Bleu得分 是一个 单一实数评价指标 ,其在 机器翻译图片描述 中应用广泛,用以评价机器生成的语句和实际人工生成的结果是否相近。
  • 相关阅读:
    幸运的秘密
    125条常见的java面试笔试题大汇总之一
    转身离去
    古怪的问题
    125条常见的java面试笔试题大汇总之五
    125条常见的java面试笔试题大汇总之四
    125条常见的java面试笔试题大汇总之三
    关于PostGreSQL中的存储过程
    关于文件编码
    javascript高级程序设计(2)ECMAScript基础
  • 原文地址:https://www.cnblogs.com/cloud-ken/p/9569604.html
Copyright © 2011-2022 走看看