首页/AI/提示词工程速查/神经翻译质量评估(COMET)
评估与迭代50 条

神经翻译质量评估(COMET)

COMET 用模型直接预测人工评分:输入原文与译文(可带参考译文)输出质量分;区分有无参考两种使用模式。

提示词工程速查AI更新于 2026-10-13

神经翻译质量评估(COMET)

COMET 用训练好的模型直接预测人工评分:输入原文与译文(可带参考译文),输出一个质量分。它比 BLEU 更贴近人的判断,因为不依赖字面 n-gram 重合,而是理解语义。使用时先分清模式——带参考译文(da 类)和不带参考(qe 类),后者适合没有标准译文的场景。

基本信息

模式有参考(da)与无参考(qe)两类
解释分数是人工评分的预测值,不是绝对正确率
版本不同 COMET 模型分数不可混比,需记录模型与工具版本
适用译文质量排序、版本对比、批量粗筛

典型使用场景

  • 翻译模型迭代:同一测试集上比较不同版本的分数变化
  • 没有参考译文的场景:用无参考模式做质量排序
  • 人工评估前的粗筛:把明显差的版本先筛掉,节省人力
  • 术语与风格专项:结合人工抽检判断特定维度的变化
  • 对外报告:与人工评分一起呈现,作为交叉验证

Python 使用示例

Python 使用示例
# pip install unbabel-comet
python - <<'PY'
from comet import download_model, load_from_checkpoint

# 下载并加载模型(模型标识要与报告中记录的一致)
model_path = download_model("Unbabel/wmt22-comet-da")
model = load_from_checkpoint(model_path)

# 每条样本给 src 与 mt;da 模式还需要 ref
data = [{"src": "source text", "mt": "translation", "ref": "reference"}]
out = model.predict(data, batch_size=8)
print(out.system_score)   # 语料级汇总分
print(out.scores[:3])     # 逐句分数
PY

使用要点读法

项目含义注意事项
da 模式带参考译文评估参考译文质量差会拉低评估可信度
qe 模式无参考译文评估适合线上译文,但分数解释需谨慎
system_score语料级汇总分与逐句分数一起看,避免被长句主导
逐句分数单条样本的质量分用于定位具体差样本,不适合直接平均
模型版本使用的 COMET 权重标识换版本后分数不可与历史比较
把不同 COMET 版本的分数画进同一条趋势线,得到的是一条看起来平滑但含义已经变化的曲线。换模型等于换了度量尺,历史数据要重跑或在图上分段标注。
模型评估依赖训练分布。领域差异大的文本(法律、医疗、口语对话)上分数可能与人工判断偏离较多,建议抽样人工复核做校准,再决定是否把分数用于决策。

易错点

  • 把不同 COMET 版本的分数放进同一张趋势图,曲线看起来连续但含义已经变了
  • 把分数当成绝对正确率来汇报,业务方按字面理解造成预期错位
  • 参考译文本身质量不高时使用 da 模式,分数反映的是参考的问题而非模型的问题
  • 完全依赖自动分数下结论,不做人工抽检校准,领域偏移时误判

数据来源与参考

  • COMET: A Neural Framework for MT Evaluation(Rei et al., 2020)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌