BLEU(Bilingual Evaluation Understudy)是一种广泛用于评估机器翻译和自然语言生成任务质量的指标。BLEU-4评分是基于四个n-gram(从单个词到四词组合)匹配度的加权几何平均值,旨在衡量生成文本与参考文本之间的相似性。 #2. BLEU详细介绍 n-gram 精确度 对于每个n-gram(n=1,2,3,4),计算生成文本中n-gram在参考文...
计算n-gram匹配:对于给定的n值,计算候选译文中所有n-gram在参考译文中出现的次数。 修正的n-gram精度:为了避免重复计算,每个n-gram在参考译文中出现的最大次数(不超过其在候选译文中出现的次数)被用于计算修正的n-gram精度。 几何平均:对于所有考虑的n值(通常n取1到4),计算修正的n-gram精度的几何平均值。 长...
所以我们最终得到的BLEU值就是:exp(-0.68),约等于50%。四、短句惩罚在使用以上方法去计算BLEU值之前,还需要解决一个问题:短句。从比较极端的角度来看,假如机器给出的译文只有一个字,那么: 这时候我们得到的P1的值就是1。然后再使用上面的计算公式来计算:(注:因为译文只有一个字,所以只能按照Unigram来计算,因此权...
可见,如果翻译结果恰为某个参考翻译结果,四个得分都取1,最终的BLEUBLEU值为e4=54.598e4=54.598,即BLEU值最大为54.598分。
Count是N-gram在机器翻译译文中的出现次数,Max_Ref_Count是该N-gram在一个参考译文中最大的出现次数,最终统计结果取两者中的较小值。然后在把这个匹配结果除以机器翻译译文的N-gram个数。因此对于上面的例子来说,修正后的1-gram的统计结果就是2/4。
4. 5. 6. 这个例子的结果为1.0, 因为candidate与reference的第1个句子perfect match了. 3.2 Corpus(语料库)的BLEU值 NLTK同样提供了corpus_bleu()函数, 它用于来对多个句子比如一个段落甚至一篇文章进行得分评价. 参考句必须由一系列documents组成, 每个document都应该由一系列references组成, 同样的, 每个句子都应...
我们这里n取值为4,也就是从1-gram计算到4-gram。 Modified 1-gram precision: 首先统计候选译文里每个词出现的次数,然后统计每个词在参考译文中出现的次数,Max表示3个参考译文中的最大值,Min表示候选译文和Max两个的最小值。 然后将每个词的Min值相加,将候选译文每个词出现的次数相加,然后两值相除即得 ...
在 Python 中,我们可以通过编写代码来计算 Bleu 值。 2.Bleu 的含义 Bleu 指标分为四个等级:Bleu-1、Bleu-2、Bleu-3 和 Bleu-4。每个等级都有相应的相似度要求: - Bleu-1:预测翻译和参考翻译之间的字符级别相似度至少为 1。 - Bleu-2:预测翻译和参考翻译之间的单词级别相似度至少为 2。 - Bleu-3:...
如果机器翻译的结果和参考翻译中的某一句完全相同,那么P1 = P2 = … = Pn = 1。最终,将这些P值结合,得到最终的BLEU score,即求所有P值的平均,然后取e指数,最后加上BP参数。在NLP机器翻译任务中,BLEU score用于评估翻译结果,需要候选语句和语句库进行对比,根据两者的差异来计算得分。关于...