评估模型

模型训练完毕后,AutoML Translation 会使用您的 TEST 集来评估新模型的质量和准确率。AutoML Translation 使用其 BLEU (Bilingual Evaluation Understudy) 得分来表示模型质量,该得分表明了候选文本与参考文本的相似程度。BLEU 得分值越接近 1,说明译文越接近参考文本。

您可利用这些数据来评估您的模型的准备情况。若要提升模型的质量,您可以考虑添加更多(且更加多样化)的训练句对。调整数据集后,您便可以使用改进的数据集重新训练一个新模型。

获取模型评估

  1. 进入 AutoML Translation 控制台。

    进入“翻译”页面

  2. 在导航菜单中,点击模型以查看模型列表。

  3. 点击要评估的模型。

  4. 点击训练标签页以查看模型的评估指标,例如其 BLEU 得分。

测试模型预测结果

您可以使用 Google Cloud 控制台将您的自定义模型的翻译结果与默认的 NMT 模型的结果进行比较。

  1. 进入 AutoML Translation 控制台。

    进入“翻译”页面

  2. 在导航菜单中,点击模型以查看模型列表。

  3. 点击要测试的模型。

  4. 点击预测标签页。

  5. 在源语言文本框中添加输入文本。

  6. 点击翻译

    AutoML Translation 会显示自定义模型和 NMT 模型的翻译结果。

使用新的测试集对模型进行评估和比较

您可以在 Google Cloud 控制台中使用新的测试数据集重新评估现有模型。在单个评估中,您最多可以添加 5 个不同的模型,然后比较其结果。

将测试数据作为制表符分隔值 (TSV) 文件或 Translation Memory eXchange (TMX) 文件上传到 Cloud Storage。

AutoML Translation 会针对测试集评估模型的表现,然后生成评估得分。您可以视情况将每个模型的结果以 TSV 文件的形式保存在 Cloud Storage 存储桶中,其中每行的格式如下:

Source segment tab Model candidate translation tab Reference translation
  1. 进入 AutoML Translation 控制台。

    进入“翻译”页面

  2. 在导航菜单中,点击模型以查看模型列表。

  3. 点击要评估的模型。

  4. 点击评估标签页。

  5. 评估标签页中,点击新建评估

  6. 选择要评估和比较的模型,然后点击下一步

    必须选择当前模型,系统默认会勾选 Google NMT,您可以将其取消勾选。

  7. 测试集名称部分指定一个名称,以帮助您将其与其他评估区分开来,然后从 Cloud Storage 中选择该新测试集。

  8. 点击下一步

  9. 如需导出预测结果,请指定一个 Cloud Storage 目标文件夹。

  10. 点击开始评估

    评估完成后,AutoML Translation 会在控制台以表格形式显示评估得分。一次只能运行一个评估。如果您指定了用于存储预测结果的文件夹,AutoML Translation 会将 TSV 文件写入该位置,并且这些 TSV 文件会以关联的模型 ID 附加测试集名称的形式进行命名。

了解 BLEU 得分

BLEU (BiLingual Evaluation Understudy) 是一种自动评估机器翻译文本的指标。BLEU 得分是一个介于 0 到 1 之间的数值,用于衡量机器翻译文本与一组高质量参考译文的相似度。0 表示机器翻译的输出与参考译文没有任何重叠(即低质量),而 1 表示其与参考译文完全重叠(即高质量)。

事实表明,BLEU 得分与人类对翻译质量的判断有很好的相关性。请注意,即使是人工翻译也无法达到 1.0 的满分。

AutoML Translation 以百分比表示 BLEU 得分,而不是 0 到 1 之间的小数。

解读

我们强烈建议不要试图比较不同语料库和语言的 BLEU 得分。即使比较的语料库相同,但若参考译文的数量不同,其 BLEU 得分也可能具有很大的误导性。

但是,作为大致的参考,以下对 BLEU 得分的解释(以百分比而非小数表示)有一定的意义。

BLEU 得分 解读
< 10 几乎没用
10 - 19 很难理解要点
20 - 29 要点很清晰,但有明显的语法错误
30 - 40 从可以理解到质量良好的翻译
40 - 50 高质量的翻译
50 - 60 质量极高、理解充分、语言流畅的翻译
> 60 质量经常高于人工翻译

以下颜色渐变可用作 BLEU 分数解释的一般量表:

量表的一般可解释性

数学细节

在数学上,BLEU 得分的定义为:

$$ \text{BLEU} = \underbrace{\vphantom{\prod_i^4}\min\Big(1, \exp\big(1-\frac{\text{reference-length}} {\text{output-length}}\big)\Big)}_{\text{brevity penalty}} \underbrace{\Big(\prod_{i=1}^{4} precision_i\Big)^{1/4}}_{\text{n-gram overlap}} $$

\[ precision_i = \dfrac{\sum_{\text{snt}\in\text{Cand-Corpus}}\sum_{i\in\text{snt}}\min(m^i_{cand}, m^i_{ref})} {w_t^i = \sum_{\text{snt'}\in\text{Cand-Corpus}}\sum_{i'\in\text{snt'}} m^{i'}_{cand}} \]

其中:

  • \(m_{cand}^i\hphantom{xi}\) 是匹配参考翻译的候选翻译中 i-gram 的数量
  • \(m_{ref}^i\hphantom{xxx}\) 是参考翻译中 i-gram 的数量
  • \(w_t^i\hphantom{m_{max}}\) 是候选翻译中 i-gram 的总数

该公式由两部分组成:简短惩罚因子和 n-gram 重叠度。

  • 简短惩罚因子
    简短惩罚因子惩罚与最接近的参考长度相比过短的生成翻译,且呈指数衰减。简短惩罚因子弥补了 BLEU 得分没有召回率项的缺陷。

  • N 元语法重叠度
    n 元语法重叠度计算有多少一元语法、二元语法、三元语法和四元语法 (i=1,...,4) 与参考翻译中 n 元语法对应内容匹配。该项充当精确率指标。1-gram 反映充分性,而较长的 n-gram 反映翻译的流畅性。为避免过度计数,n-gram 数量限制为参考翻译中出现的最大 n-gram 数 (\(m_{ref}^n\))。

示例

正在计算 \(precision_1\)

假设有以下参考翻译和候选翻译:

参考翻译the cat is on the mat
候选翻译the the the cat mat

第一步是计算参考翻译和候选翻译中每个 1-gram 的出现次数。请注意,BLEU 指标区分大小写。

1-gram \(m_{cand}^i\hphantom{xi}\) \(m_{ref}^i\hphantom{xxx}\) \(\min(m^i_{cand}, m^i_{ref})\)
the 3 2 2
cat 1 1 1
is 0 1 0
on 0 1 0
mat 1 1 1

候选翻译中的 1-gram 的总数 (\(w_t^1\)) 为 5,因此 \(precision_1\) = (2 + 1 + 1)/5 = 0.8。

计算 BLEU 得分

参考翻译The NASA Opportunity rover is battling a massive dust storm on Mars .
候选翻译 1The Opportunity rover is combating a big sandstorm on Mars .
候选翻译 2A NASA rover is fighting a massive storm on Mars .

以上示例包含一个参考翻译和两个候选翻译。 如上所述,在计算 BLEU 得分之前,系统会对句子进行词法单元化处理;例如,末尾的句号被计为一个单独的词法单元。

为了计算每个翻译的 BLEU 得分,我们需要计算以下统计信息。

  • N 元语法精确率
    下表包含两个候选翻译的 n 元语法精确率。
  • 简短惩罚因子
    候选翻译 1 和候选翻译 2 的简短惩罚因子是相同的,因为这两个句子都包含 11 个词法单元。
  • BLEU 得分
    请注意,若要使 BLEU 得分 > 0,至少需要有一个匹配的四元语法。 由于候选翻译 1 没有匹配的四元语法,因此它的 BLEU 得分为 0。
指标 候选翻译 1 候选翻译 2
\(precision_1\) (1gram) 8/11 9/11
\(precision_2\) (2gram) 4/10 5/10
\(precision_3\) (3gram) 2/9 2/9
\(precision_4\) (4gram) 0/8 1/8
简短惩罚因子 0.83 0.83
BLEU 得分 0.0 0.27

属性

  • BLEU 是一个基于语料库的指标
    当用于评估单个句子时,BLEU 指标表现不佳。例如,即使两个例句都翻出了大部分含义,但其 BLEU 得分仍可能很低。因为单个句子的 n-gram 统计信息意义不大,所以 BLEU 的设计是一个基于语料库的指标;也就是说,在计算得分时,统计信息在整个语料库中进行累积。请注意,上面定义的 BLEU 指标不能针对单个句子进行分解。

  • 实词和功能词之间没有区别
    BLEU 指标不区分实词和功能词,也就是说,漏掉像“a”这样的功能词与“NASA”被错误替换为“ESA”一样会得到同样的惩罚。

  • 善于捕捉句子的含义和语法
    漏掉“not”这样的单词会改变句子的极性。 此外,仅考虑 n≤4 的 n 元语法忽略了长程依赖性,因此 BLEU 通常只会为不符合语法的句子应用一个较小的惩罚因子。

  • 归一化和词法单元化
    在计算 BLEU 得分之前,参考翻译和候选翻译都会进行归一化和词法单元化处理。归一化和词法单元化步骤的选择对最终 BLEU 得分有显著的影响。