NLP中数据集的切割方法研究

NLP中数据集的切割方法研究

ACL 2019杰出论文奖: We need to talk about atandard splits

获奖理由

  1. 本文质疑了评估NLP模型性能时公认且广泛运用的方法。
  2. 本文使用词性标注任务说明了问题。
  3. 本文建议模型排名应当基于使用随机切割的重复评估方法。

摘要

自然语言处理领域的标准做法是对数据集按照训练集,验证集和测试集切割,依据在分离出的测试集上的性能来对系统进行排名。然而很少有研究人员用统计的方法来测试性能之间的差异是否是由偶然原因造成的,且很少有人检查同一个数据集中分割出不同的训练-测试集时的系统排名的稳定性。我们使用了2000年至2018年间发布的九个词性标注器进行复现实验,这些标注器每个都声称在广泛使用的标准的分割方式上获得了最佳性能。然而当我们使用随机生成的训练-测试集分割时,根本无法可靠地重现某些排名。我们在此建议使用随机生成的分割来进行系统比较。

问题背景

  • 在进行自然语言处理时,现在的标准做法是在一个留出的测试集上进行评估。
  • 它可能导致对训练集和测试集的过拟合,缺乏一定的普适性。
  • 这样的趋势很有可能是由一种叫做”出版偏见“的现象导致的。

假设G是一个标准集, G t r a i n G_{train} Gtrain是训练集, G v a l G_{val} Gval是验证集 , G t e s t G_{test} Gtest是测试集。 S S S是一个具有任意参数和超参数的模型。 M M M是一个度量函数。 M ( G , S ) M(G,S) M(G,S)的值越大,则表明模型的性能越好。 通过最大化 M ( G t r a i n , S ) M(G_{train},S) M(Gtrain,S) M ( G v a l , S ) M(G_{val},S) M(Gval,S) S S S中的参数和超参数进行调整。通常情况下, M ( G t e s t , S 1 ) M(G_{test},S_1) M(Gtest,S1) M ( G t e s t , S 2 ) M(G_{test},S_2) M(Gtest,S2)被认为是一种数值关系,但实际上它们应该被视作一种随机变量。因此,可以对这两个随机变量进行假设检验。

δ = M ( G t e s t , S 1 ) − M ( G t e s t , S 2 ) \delta=M(G_{test},S_1)-M(G_{test},S_2) δ=M(Gtest,S1)M(Gtest,S2)

δ \delta δ是一个表示两个模型间差异的随机变量。如果 δ = 0 \delta = 0 δ=0,则两个模型的性能无差异。

通过分析2017年ACL所有的相关工作后发现,绝大部分工作都没有进行合适的统计检验。缺乏假设检验有可能导致第一类错误的发生,也就是明明两个模型间没有显著的差异性,却拒绝了 δ = 0 \delta = 0 δ=0这个假设。

重现实验

数据集

  • The Wall St. Journal(WSJ) portion of Peen Treebank-3
  • Peen Treebank WSJ 中部分重新标注过的数据。
    NLP中数据集的切割方法研究_第1张图片

模型

作者在英文词性标注任务上重现了2000-2018年间所有的当时最先进的模型。

NLP中数据集的切割方法研究_第2张图片
NLP中数据集的切割方法研究_第3张图片

实验结果

实验1:使用标准切割方法

NLP中数据集的切割方法研究_第4张图片

实验2:重复20次随机切割

NLP中数据集的切割方法研究_第5张图片
这个实验就是将两个模型的性能进行比较,理论上右边的模型都比左边的模型好,但是作者做了实验后发现并不是如此。

在20次切割中,进行假设检验后,第二个模型的性能显著地超过了第一个模型性能的次数。(假设前提是第二个模型比第一个模型更先进)

解决方法

- 更多地使用随机切割的方法来验证模型的性能。

- 在随机切割的基础上,建议使用统计检验的方法来评估模型和目前最先进的模型的性能差异。

验证模型的性能。

- 在随机切割的基础上,建议使用统计检验的方法来评估模型和目前最先进的模型的性能差异。

你可能感兴趣的:(论文,自然语言处理,假设检验,数据集切割)