翻译指标 BLEU 与 chrF
BLEU 看的是 n-gram 精确率并附加长度惩罚,对语序与词形敏感,短句上惩罚明显;chrF 看字符级 F 值,对中文这类没有空格分词的语言、以及形态丰富的语言更稳。两个都是自动指标,只能作为辅助参考,不能代替人工判断译文是否可读、是否忠于原文。
基本信息
| BLEU | n-gram 精确率 + 长度惩罚,语序与词形敏感 |
|---|---|
| chrF | 字符级 F 值,对中文与形态丰富语言更稳 |
| 纪律 | 同一套预处理与参考译文下比较,跨口径不可比 |
| 报告 | 注明大小写、分词方式、参考译文份数 |
典型使用场景
- 翻译模型迭代对比:同一测试集与同一参考译文下逐版比较
- 中文译文评估:优先看 chrF,BLEU 作为辅助
- 回归门禁:主指标下降超过阈值时拦截合并
- 人工评估成本控制:先用自动指标筛掉明显退化的版本
- 术语一致性的粗筛:同一术语的译法变化会体现在指标上
命令行快速计算(sacrebleu)
命令行快速计算(sacrebleu)
# 安装与计算
pip install sacrebleu
# 单句对照:把译文与参考逐行比对
echo "译文句子" | sacrebleu ref.txt -m bleu chrf
# 批量文件评估:假设 sys.txt 与 ref.txt 逐行对应
sacrebleu ref.txt -i sys.txt -m bleu chrf -lc
# 报告时必须注明:
# - 是否大小写敏感(-lc 表示忽略大小写)
# - 分词方式 / 是否按字符切分
# - 参考译文有几份(多参考的分值会更高)指标口径对照
| 项目 | 含义 | 对结果的影响 |
|---|---|---|
| n-gram 阶数 | BLEU 统计到几元组 | 阶数不同,分数不可直接比较 |
| 大小写处理 | 是否忽略大小写 | 大小写敏感时同一译文分数不同 |
| 分词方式 | 按词还是按字符统计 | 中文场景差异尤其明显 |
| 参考译文份数 | 单参考或多参考 | 多参考会显著抬高分数 |
| 长度惩罚 | 译文过短时扣分 | 短句上 BLEU 容易偏低 |
只有一份参考译文时,合理但用词不同的译法会被判低分。可以增加参考译文份数,或者同时看 chrF,避免单一参考带来的偏差。
自动指标适合看趋势,不适合做绝对判定。分数持平但人工读起来明显更通顺的情况很常见,关键版本建议抽样人工评审。