当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > SacreBLEU 怎样组织多个参考译文的输入维度

SacreBLEU 怎样组织多个参考译文的输入维度

来源:17golang原创 2026-10-30 20:04:46 0浏览 收藏

使用 SacreBLEU 评估机器翻译时,多条参考译文不是把整段文本简单拼在一起,而是要保留“同一条系统输出对应多条参考”的输入维度。最直接的做法是把参考文件作为多个位置参数传入;如果数据管道已经按行合并,也可以用制表符组织参考字段,再用 --num-refs 明确每行有几条参考。

独立文件适合手工或脚本调用,TSV 适合已经按行对齐的数据管道。无论采用哪种写法,系统输出和参考译文必须逐行对应,参考数量也必须与文件结构一致。
  • 多文件模式:把 ref-a.txt、ref-b.txt 作为多个位置参数传入。
  • TSV 模式:每行放一条系统输出对应的多个参考字段,并用 --num-refs 2 声明数量。
  • 指标范围:BLEU、chrF 和 TER 都支持多参考评估,但每次运行仍要保持输入行数和语义一致。

先把三类输入分清楚

一组评估至少包含系统输出和参考译文。系统输出是待评价的翻译结果,参考译文是同一源句的一个或多个可接受表达。多参考的价值在于允许不同但合理的译法参与比较,因此不能把参考 A、参考 B 当成两批互不相关的数据。

例如,下面的文件关系表示同一行的 system.txt 同时对应 ref-a.txt 与 ref-b.txt。示例只说明输入结构,不代表实际得分:

# 中文注释:三个文件必须按相同顺序保存对应句子
system.txt   # 待评价的系统译文,每行一条
ref-a.txt    # 第一套人工参考译文,与 system.txt 逐行对应
ref-b.txt    # 第二套人工参考译文,与 system.txt 逐行对应
SacreBLEU 系统输出与两份参考译文进入多个评估指标的静态结构说明图
图1:结构说明图,展示多个独立参考文件如何共同进入 SacreBLEU 的评估输入。

用多个位置参数传入参考译文

当每套参考译文各自保存为一个文件时,可以把两个参考文件写在系统输出之后。下面的命令把 ref-a.txt 和 ref-b.txt 作为两套参考输入,-m 则同时请求三种指标:

# 中文注释:多个参考文件作为位置参数,-i 指向待评价系统输出
sacrebleu ref-a.txt ref-b.txt -i system.txt -m bleu chrf ter

这种写法的重点是参数位置和文件含义:参考文件是位置参数,系统输出由 -i 指定。多个文件都必须有与系统输出相匹配的句子顺序;如果某套参考少了一行,评估的对应关系就会被破坏。参考文件的命名可以按项目习惯调整,但不要把不同数据集的参考混入同一次运行。

如果只关心 BLEU,可以把指标收窄,减少输出解析负担:

# 中文注释:只输出 BLEU,适合流水线只消费一个指标的场景
sacrebleu ref-a.txt ref-b.txt -i system.txt -m bleu -b

合并成 TSV 时声明参考数量

有些数据处理流程会把每行的多个参考译文放在同一个制表符文件中。此时可以把一行理解为“系统输出对应的参考字段集合”,并通过 --num-refs 告诉 SacreBLEU 每行应读取几个参考字段:

# 中文注释:每行是参考字段集合,字段之间用制表符分隔
paste ref-a.txt ref-b.txt > refs.tsv

# 中文注释:声明 refs.tsv 每行包含两条参考译文
sacrebleu refs.tsv --num-refs 2 -i system.txt -m bleu

这里的 2 不是系统输出行数,而是每行参考译文的数量。它必须与 refs.tsv 的字段组织相符:若实际每行有三条参考,却仍写成 --num-refs 2,后续字段就不能按预期参与评估;反过来,声明数量大于实际字段也会造成输入不完整。

SacreBLEU TSV 每行两个参考字段与 num-refs=2 参数的静态数据结构说明图
图2:结构说明图,展示制表符参考文件与 --num-refs=2 的数据维度关系。

指标选择与输入排查

SacreBLEU 的 BLEU、chrF 和 TER 都支持多参考评估。可以按项目需要选择指标:BLEU 适合延续已有 BLEU 报表,chrF 更关注字符 n-gram,TER 用于观察编辑距离式的翻译修改成本。不要因为增加了参考译文就把不同指标的结果直接横向等同;归档时应同时保存命令、参考数量和指标名称。

遇到结果异常时,先检查三个静态条件:系统输出、每套参考是否逐行对齐;多参考文件是否属于同一测试集;TSV 模式的 --num-refs 是否等于每行字段数量。确认这些条件后,再查看语言对和 tokenizer 等其他参数。以下命令保留文本格式,便于旧脚本按行读取:

# 中文注释:-f text 保留文本格式,便于已有脚本解析结果
sacrebleu ref-a.txt ref-b.txt -i system.txt -m bleu -f text

常见问题

多个参考文件能直接写在 -i 后面吗?

不建议这样理解。官方示例把参考文件作为位置参数,把系统输出交给 -i;先区分这两类角色,命令更容易检查。

--num-refs 2 表示有两条系统输出吗?

不是。它表示合并输入时,每行包含两条参考译文。系统输出仍由单独的输入文件或标准输入提供。

三种指标必须一起运行吗?

不必。可以用 -m bleu 只计算 BLEU,也可以按报告需要组合 BLEU、chrF 和 TER。关键是记录本次使用的指标和输入结构。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
Cloudflare 三季度报告怎样描述分布式攻击规模变化Cloudflare 三季度报告怎样描述分布式攻击规模变化
上一篇
Cloudflare 三季度报告怎样描述分布式攻击规模变化
PHP IntlChar 的 digit 与 charDigitValue 怎样处理不同进制
下一篇
PHP IntlChar 的 digit 与 charDigitValue 怎样处理不同进制
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    797次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    787次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    876次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    846次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    677次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码