【问题标题】:How to match hypothesis with references using BLEU?如何使用 BLEU 将假设与参考相匹配?
【发布时间】:2021-06-23 15:44:14
【问题描述】:

在下面的sys 包含happy 是第二个引用的精确匹配,但为什么 bleu 分数仍然为零?

import sacrebleu
sys = ["happy"] 
refs = [["like achieve"], 
        ["happy"]] 

b3 = sacrebleu.corpus_bleu(sys, refs)
print("b3", b3.score)
print("b3", round(b3.score,2))

打印出来

b3 0.0
b3 0.0

如果 BLEU 不是一个很好的指标,我会寻找一个指标,它可以通过任何参考对假设中的匹配或子字符串进行评分。我以为 BLEU 分数是为了同样的目的!

【问题讨论】:

    标签: python bleu


    【解决方案1】:

    BLEU 被定义为(修改后的)n-gram 精度的几何平均值,最高可达 4-gram(乘以简洁惩罚)。因此,如果整个测试集中没有匹配的 4-gram(没有 4-tuple of words),则 BLEU 定义为 0。 BLEU 设计用于对包含数百个句子的测试集进行评分,这种情况不太可能发生。对于单个句子的评分,您可以使用使用某种平滑的句子级版本的 BLEU,但结果仍然不理想。您还可以使用基于字符的度量,例如chrF (sacrebleu -m chrf)。

    您还可以将use_effective_order=True 传递给 corpus_bleu,以便只计算匹配的 n-gram 顺序而不是 4 个 n-gram。但是,在这种情况下,该指标并不是人们所指的 BLEU。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 2017-02-28
      • 2021-07-14
      • 2015-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多