compare-mt:因为对系统进行评分还不够

compare-mt:因为对系统进行评分还不够

揭露你的分数背后的原因,以获得更有洞察力和可信度的评估。

Generated with 克雷永 with the prompt: “chart under a magnifying glass.”

对于自然语言生成任务,通常将多个模型或系统相互评估,以根据某些指标确定最佳模型或系统。例如,在研究论文中,我们经常会找到带有每个被比较系统的度量分数的表格。得分最高的系统通常被认为是最好的系统。

然而,评分系统只提供很少的信息来说明为什么给定系统优于其他系统。由于我们想要的原因,它可能不是最好的,如果指标不准确,甚至根本不是最好的。仅从分数得出结论是困难的,那么当有工具可以更好地了解分数背后的内容时,我们为什么要这样做呢?

在这篇文章中,我介绍 比较-mt .一个非常简单的工具,可以为用户提供系统之间显着差异的高级且连贯的视图。它利用通常由自动指标(如 ROUGE 或 BLEU)计算的统计信息。它可用于生成 HTML/Latex 格式的报告,并进一步指导您的分析或系统改进。它适用于我们有评估参考文本的任何语言生成任务,例如机器翻译和摘要。

我首先概述了 compare-mt 的主要功能。然后我通过分析提交给 WMT21 de-en 翻译任务的机器翻译输出来演示它是如何工作的。我还将向您展示如何解释结果,并就如何在您自己的工作中报告这些结果提供一些建议。提供了我运行的所有命令行,因此您也可以将本文用作教程。

超越分数

比较-mt 可以在 Github 上找到。由 2018 年提出 神经实验室 在 CMU。

从那时起,它一直得到很好的维护。还有一个 如果您想知道这个工具背后的动机,描述原始版本很有趣。

compare-mt 只需要比较系统输出和一个参考文本:例如,两个或多个机器翻译输出和人类产生的参考翻译。

compare-mt 的主要特点是它生成一个 HTML 报告,其中包含各种表格和图表,在各种标准下比较系统,您可以轻松地将其添加到自己的报告或科学论文中。

compare-mt 将首先根据参考文本对每个系统进行评分。有许多可用的得分手:

  • BLEU:可用于标记化或去标记化的文本。去标记化版本旨在重现 该死的 (但请记住,它不能保证 SacreBLEU 和 compare-mt 产生相同的分数)。
  • ROUGE:评估摘要系统的常用指标。
  • METEOR:一种通过在释义、同义词等之间搜索标记匹配来更重视召回而不是准确率的指标。它要求您获得 流星 得分手分开。 METEOR 最初被提议用于评估机器翻译系统。
  • chrF:使用字符而不是标记计算分数。它是 compare-mt 中实现的唯一度量标准,它独立于标记化。如果您希望您的评估具有可重复性,我推荐它。
  • RIBES:最初为机器翻译任务提出的指标,特别擅长评估词序。
  • GLEU:为语法纠错任务设计的指标。
  • WER

注意:它也应该运行 彗星 但不再支持此指标。我会更新这篇文章,以防将来发生变化。

给定您选择的指标,compare-mt 还可以告诉您您正在评分的系统之间的差异是否具有统计显着性。对于此统计显着性测试,它使用

另一个有趣的功能是句子级别的分析。例如,compare-mt 在给定句子长度的情况下输出句子级别的分数。这对于确定系统对于较短或较长句子的性能是否更好非常有用。

它还根据频率测量单词的准确性。默认情况下,频率是在不理想的参考文本上计算的,但您可以提供自己的频率计数,例如根据系统的训练数据计算得出的频率。

我发现另一个有用的功能是指示哪个 n-gram 由哪个系统更好地翻译。这是非常有见地的,例如,如果系统比较使用不同的训练数据。

生成的报告还将输出翻译示例,以说明比较系统之间的差异。

我在这里只列出了我认为最有用的功能,但如果您希望进行更深入的分析,还有更多功能。其中大部分都列在 compare-mt 的 Github 网页上。

演示:WMT21 de-en 翻译任务分析

对于以下分析,我使用 Python 3.8 在 Ubuntu 20.04 上运行所有内容。

您可以使用 git 获取 compare-mt:

 git 克隆[ https://github.com/neulab/compare-mt.git](https://github.com/neulab/compare-mt.git)

然后您只需按照 README.md 中提供的安装说明进行操作:

 # 要求 pip install -r requirements.txt # 安装包 python setup.py 安装

对于这个演示,我将比较提交给 WMT21德英翻译任务 .我使用的数据集可用 这里 .是任务组织者公开发布的官方数据集。我只对每个文件使用“txt”版本。

我比较的系统是:

  • 边缘
  • 你有Facebook吗
  • 用友
  • 在线-A
  • 在线-W
  • VolcTrans-AT

您只需运行以下命令即可获取 HTML 报告:

 compare-mt — output_directory 输出/newstest2021.de-en.ref.A.en newstest2021.de-en.hyp.Borderline.en newstest2021.de-en.hyp.Facebook-AI.en newstest2021.de-en.hyp。 UF.en newstest2021.de-en.hyp.Online-A.en newstest2021.de-en.hyp.Online-W.en newstest2021.de-en.hyp.VolcTrans-AT.en — compare_scores score_type=sacrebleu,bootstrap= 1000,prob_thresh=0.05 — 小数 2 — sys_names 边界 Facebook-AI UF Online-A Online-W VolcTrans-AT — fig_size 10x5

在哪里:

  • “output_directory”是将存储报告和生成的图表的目录。
  • “newstest2021.de-en.ref.A.en”是参考翻译,后面是我们要比较的 6 个系统输出。请注意,我是随意选择比较 6 个系统的。您可以根据需要比较任意数量的系统,但我发现超过 5 或 6 个的图表和表格往往变得难以阅读。
  • “compare_scores”指定您希望如何对系统进行评分
  • “score_type”是我上面列出的所有指标中的一个指标。在这里,我选择了 sacrebleu,因为我评估的翻译没有被标记化。
  • “bootstrap”和“prob_thresh”是可选的:如果您提供它们,将对所有可能的系统对执行统计显着性测试。 “bootstrap”的 1000 是一个合理的默认值,“prob_thresh”的默认值是 0.01,这是一个 p 值,高于该值的系统之间的差异不会被认为是显着的。
  • “小数”是报告中每个分数将打印的小数位数。默认值为 4,但我发现它使报告难以阅读,并且可能会误导读者,因为这样的精度对于 BLEU 毫无意义。
  • “sys_names”是每个系统的名称,与我们比较的输出顺序相同。
  • “fig_size”定义图形大小。默认值在大多数情况下都可以,但是如果您比较超过 3 个系统,我发现增加图形大小对于在图表中获得更好的图例定位是必要的。

报告只需几秒钟即可生成。此示例的完整报告可用 这里 .

首先,每个系统都有一个 bleu 分数:

实际上,在大多数机器翻译研究论文中,这只是你会得到的:一张包含机器翻译系统 BLEU 分数的表格。然后,考虑到最高分,我们会得出结论,Borderline 的提交是最好的,或者更糟的是,它是机器翻译艺术的新状态……而这正是 compare-mt 可以帮助您绘制的地方 更可信的科学结论 .

让我们看看下表。它显示了每个可能的系统对的 BLEU 分数之间差异的统计显着性:

由于我们有许多系统对,因此该表更难阅读。

我们有三种不同的情况:

  • s1>s2 (p=X):行上的系统显着优于 p 值 X 的列上的系统(您可以将此 p 值解释为置信度分数)。
  • s2>s1 (p=X):列上的系统明显优于 p 值 X 的行上的系统。
  • - (p=X):系统得分没有显着差异,即系统表现相似。

现在我们知道如何阅读这张表,这很惊人:大多数系统的性能都差不多!这里没有“最佳系统”。即使 BLEU 的差异接近或高于 1 点,例如在 Borderline 和 Facebook-AI 之间,差异也不显着。 注意: compare-mt 使用 p 值的阈值来确定差异是否显着。这是有争议和 有争论认为不应该存在这样的门槛 .在您自己的工作中使用 p 值时,我建议避免使用阈值并始终提及 p 值。您可以将您的结论表述为“系统 A 优于 p 值为 X 的系统 B”。根据任务的不同,0.1 或更低的 p 值可能足以实现显着不同的结果,而对于其他任务,您可能会发现 0.001 更合适。此外,请记住,并非所有从事自然语言处理工作的人都相信统计显着性检验是有意义的。

实际上,在这种情况下,统计显着性检验得出的结论与 WMT 进行的人工评估 :这 6 个系统的性能相同。

当您想声称某个系统比其他系统更好时,我绝对建议您提供此表。 compare-mt 很好地为其生成了 LaTeX 代码,只需单击“显示/隐藏 LaTeX”。

以下表格和图表可用于更细粒度的诊断和分析。

报告中的下一个表格是给定预定义频率桶的每个系统的单词准确度。在这个例子中,我没有发现这个表很有用,因为每个系统的所有数字都非常相似。还使用此表中的数字生成图表。

我发现下一张表更有用。它提供给定句子长度的 BLEU 分数。这个例子很有趣,因为我们可以清楚地看到系统的性能取决于长度。例如,虽然 Borderline 在大多数桶中表现最好,但对于超过 50 个标记的句子,其他系统似乎表现得更好。

下一个表格和图表显示了参考和机器翻译输出长度之间的标记数量差异。同样,这些差异以存储桶的形式提供。对于所有系统,填充最多的桶都在“0”左右,这意味着它们可以很好地匹配参考长度。

下一个表格和图表使用由句子级 BLEU 分数制成的桶。在此示例中,我不建议使用这些统计信息。使用其他指标可能很好,但句子级 BLEU 对句子的长度非常敏感:较低的 BLEU 分数可能只意味着要翻译的句子很长,而不是真正困难。直观地说,您经常会在“>=90.0”(句子级 BLEU 分数高于 90 的句子)中找到非常短的句子,即您的系统不太可能产生翻译错误的句子。

下面的表格提供了更细粒度的信息,但只比较了运行 compare-mt 时提供的前两个系统,这里是 Borderline 和 Facebook-AI。首先,我们有 n-gram 统计。这些表告诉我们哪个 n-gram 翻译得更好。如果您想检查一个系统与其他系统相比是否特别擅长翻译某些特定术语,这会很有帮助。

然后,报告列出了句子示例及其相应的句子级 BLEU 分数。在这里,我发现突出指标的限制特别有用……

例如,在下面的例子中,你能找到为什么 Borderline 没有得到 100 BLEU(最高分)吗?

Borderline 没有生成预期的“'”,而是另一个类似的字符。 Facebook-AI 翻译看起来也和 Borderline 一样好,但得分要低得多。

给机器翻译研究人员的一句话:

作为服务于顶级会议和期刊的审稿人,我只能鼓励您在补充材料中提供此报告或类似信息(如果您有更好的工具)。这可能是非常有力的支持性证据,表明您的系统确实更好。会议/期刊审稿人可能会争辩说,单独的分数,尤其是 BLEU,是没有意义的,但是如果您在 compare-mt 生成的报告中提供或分析信息,它可以将拒绝转换为接受。我自己肯定会是积极的,并注意到努力。

结论

我只介绍了 compare-mt 的主要功能。我真的鼓励你仔细看看这个工具。

学习如何使用它不需要太多时间。它易于安装且可快速生成报告。您只需要计算指标分数:系统输出和参考文本。那么为什么不生成这些补充信息来确认您的观察呢?

如果您有任何问题,我很乐意在评论中回答!

如果你想支持这项工作, 在 Medium 上关注我 .

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/1872/18403018

posted @ 2022-08-30 18:19  哈哈哈来了啊啊啊  阅读(136)  评论(0编辑  收藏  举报