MuCGEC- a Multi-Reference Multi-Source Evaluation Dataset for Chinese Grammatical Error Correction


Abstract

  • 用于中文语法纠错(CGEC)的多参考多源评估数据集,包含收录自CSL中的7063个句子。其中每个句子由三名annotator更正,他们的更正由senior annotator仔细审查,每个句子产生 2.3 条参考。
  • 使用两个主流CGEC模型进行实验,并用一个大规模预训练模型进行提升,在数据集上达到了有竞争力的基准表现
  • 使用基于字符的指标。

1. introduction

  • GEC:表示对有可能有语法错误的输入文字句子(生句子)进行检测以及纠正所有的错误并且生成正确干净的句子。
  • 英文数据集(EGEC)有着丰富的高质量人工标注评估数据,但中文数据集(CGEC)相对欠缺。主流的CGEC是NLPCC18和CGED。
  • 现存的CGEC缺少多参考的数据,大部分来自上述两个数据集,这可能是由于采用了不同的标注工作流。

MuCGEC:解决下述的两个问题:单参考问题和单文本源问题

  • 多参考的标注对整个GEC模型以及GEC数据标注都很重,因为对于一个不正确的句子,通常存在不止一个具有相似含义的可接受引用。

    1. 如果 GEC 模型输出正确的参考,但与评估数据中给出的参考不同,那么模型性能将被不公平地低估 –>增加引用数量
    2. 施加单引用约束会使数据标注出现问题,比如annotator提交不同的但同样是可以接受的修正,senior不知道如何决定哪个更好

    (认为是一句话的歧义问题以及更改在单参考的环境下会出现错误评估以及评估失效)

  • 现有的 CGEC 数据集还从单一文本源收集句子,这可能不足以进行稳健的模型评估

总结:基于基于浏览器的在线标注工具,每个句子分配给三名标注员进行独立批改,并分配给一名高级标注员进行终审。 标注者可以提交多个引用,高级标注者除了拒绝不正确的提交外,还可以补充新的引用。 通过这种方式,我们的目标是产生尽可能多的参考资料。 总之,这项工作做出了以下贡献。

1)我们新构建的 MuCGEC 由 7,063 个句子组成,这些句子来自CSL文本的三个代表性来源。 每个句子平均获得 2.3 个参考。 我们对新数据集进行详细分析以获得更多见解。

2)我们使用Seq2Edit和Seq2Seq模型进行基准实验,这两种模型都通过预训练语言模型 (PLM) 进行了增强,我们还尝试了一种非常有效的集成策略。使用比基于单词的评估指标更简单的基于字符的评估指标。

2. Data Annotation

2.1 Multi-Source Data Selection

在CSL学习者文本上调查各种各样的中文语法错误。

  • 数据源:
    1. 重新标注NLPCC18(包含北大语料库)
    2. 重新标注CGED-2018 和 CGED-2020 测试数据集(来自HSK的写作章节),从总共 5,006 个句子中删除标记为正确的句子后,我们获得了 3,137 个可能错误的句子用于重新标注。
    3. NLPCC2018 共享任务组织者从 Lang8 收集了约 717,000 个中文句子及其更正。我们随机选择 2,000 个 30 到 60 个字符的句子进行重新标注。

放弃所有原始更正,并按照我们新的标注指南和工作流程直接从头开始重新标注。

2.2 Annotation Paradigm: Direct Rewriting

构建 GEC 数据的标注范式主要有两种类型,即错误编码直接重写

  1. 错误编码范式:要求标注者明确标记原始句子中的错误跨度,然后选择其错误类型,最后进行更正。(单词纠正)

存在的问题:

  • 不同的标注者很难就错误跨度的边界及其错误类型达成一致,尤其是当有许多类别需要考虑时->导致标注工作量的增加和 标注质量下降
  • 在复杂的标注范式下,标注者忽视结果引用的流畅性,有时甚至会导致表达不自然。
  1. 直接重写范式:要求标注者直接重写输入句子并生成相应的语法正确的句子,而不改变原始含义。这种标注范式已被证明是高效且具有成本效益的(全句重写)

我们采用直接重写范式。 除了上述优点外,我们相信这种范式可以帮助提高引用的多样性,因为标注者可以更自由地纠正错误。

2.3 Annotation Guidelines

编写了 30 页的 CGEC 标注综合指南,并根据反馈逐步完善。指南采用了两层层次的错误分类法,包括5种主要错误类型和14种次要错误类型

  • 标点:丢失; 冗余; 滥用
  • 拼写:拼音混乱; 字形混乱; 语无伦次
  • 单词:丢失; 冗余; 滥用
  • 句法:词序;混合语法模式
  • 语用学:逻辑不一致; 歧义; 常识性错误

处理word-missing errors遇到的问题:以往的CGEC 数据集会直接插入特定词,但漏词本身是与上下文有关的。导致语义错误,能会给 GEC 模型评估带来麻烦,因为还有很多其他可接受的候选词。-> 使用missing components (MC)标签标注,因为“[MC]”不包含在现有的训练数据和词汇表中。 我们将这个问题留作未来的工作。

2.4 Annotation Workflow and Tool

  • 将每个句子分配给三个随机标注者进行独立标注。 然后将他们提交的内容汇总并发送给随机的高级标注者(审阅者)进行审阅。

  • 高级标注者的工作包括: 1)将不正确的引用修改为正确的引用(有时只是拒绝它们); 2)根据指南添加新的正确引用。

  • 评审后,被接受的引用被定义为最终黄金饮用

  • 采用一种自学机制,允许标注者在提交不正确的引用时从错误中吸取教训。:简而言之,就是标注者提交的引用不是黄金引用,则可以对其进行修改成一个正确的引用。另加上投诉机制,对自学机制进行优化。我们发现自学和投诉机制可以引发非常有益的讨论。

2.5 Annotation Process

聘请了21名母语为汉语、熟悉汉语语法的本科生作为兼职标注员。所有参与者都被要求每天至少标注 1 小时。 整个标注过程历时约3个月。

2.6 Ethical Issues

这三个来源的所有数据都是公开的。 同时,我们已获得 NLPCC-2018 和 CGED 共享任务的组织者的许可

3 Analysis of Our Annotated Data

  1. 与原标注相比,新标注中的错句比例有一定减少,体现了我们对过度修正现象的严格控制。
  2. 关于句子长度,NLPCC18 的句子最短,而 CGED 的句子要长得多。因为考生喜欢写长句子…
  3. 重新标注的 NLPCC18 中的每个句子平均收到 2.5 个引用,这是原始 NLPCC18 数据中的两倍多。可以使我们的数据集在评估时更可靠
  4. 比较不同数据集中每个引用的基于字符的编辑数量。我们可以看到编辑次数与句子长度密切相关。平均句子长度和编辑次数的差异表明三个数据源在质量和难度上可能存在系统性差异,我们认为这有助于评估模型的泛化能力。
  5. 标注者更倾向于提供单一引用,因为更经济,他们觉得应该让更多标注着提供他们的最佳饮用。
  6. 我们通过根据最终的黄金参考评估所有标注提交来计算基于字符的 F0.5 分数。平均 F0.5 为 72.12。
  7. 最佳标注者获得 82.34 F0.5 分数,而完成最多任务的标注者仅获得 68.32 分。 这表明我们在计算工资时应该更加关注标注质量,避免标注者过于关注标注速度。
  8. 标注者常犯的错误:最常见的错误是由于更正不完整造成的,占无效引用的 56.7%。很难无遗漏地纠正所有错误,第二类错误是错误更正,即旧错误的更正导致新错误,此外,有 11.0% 的投稿因意思改变而被拒绝。

4 Benchmark Models

为了了解前沿的 GEC 模型在我们的数据上的表现如何,我们采用了两种主流的 GEC 方法,即 Seq2Edit 和 Seq2Seq。

  • Seq2Edit 模型将 GEC 视为序列标记任务,并通过一系列令牌级别的编辑(包括插入、删除和替换)执行错误更正(Malmi 等人,2019)。 一个token在英文中对应一个词或子词,在中文中对应一个字。 我们采用 GECToR(Omelianchuk 等人,2020 年)进行微小修改以适应中文,从而在 EGEC 数据集上实现了最好的表现(SOTA)。

  • 使用StructBERT (流行的PLM,因为它在微调后具有优越的性能)作为encoder以提升GECToR

  • Seq2Seq 模型直接将 GEC 视为单语翻译任务。 最近的工作建议使用 T5 或 BART 等 PLM 来增强基于 Transformer 的 Seq2Seq EGEC 模型。 与 BERT不同,T5 和 BART 是专门为文本生成而设计的。 因此,继续使用 GEC 数据对它们进行培训很简单。 我们遵循这些工作并利用 Shao 等人最近提出的中文 BART。初始化我们的 Seq2Seq 模型。

  • 集成模型。 之前的几项工作已经证明了模型集成对 CGEC 的有效性。 在这项工作中,我们清楚地观察到上述两个模型在修复不同错误类型方面的互补能力,因此尝试将它们结合起来。Seq2Seq 模型 善于处理 词序 错误 ,而Seq2Edit 模型 在 冗余错误上表现较好

  • 我们用两种集成设定进行实验:

    1)一个 Seq2Edit 和一个 Seq2Seq,用“1×Seq2Edit+1×Seq2Seq”表示

    2)三个 Seq2Edit 和三个 Seq2Seq,用“3×Seq2Edit+3×Seq2Seq”表示。

    这三个 Seq2Edit模型是使用不同的随机种子进行初始化得到的,Seq2Seq也是如此。

  • 其他设置。 为了获得两种模型的单模型性能,我们使用不同的随机种子分别运行它们三次进行初始化并计算平均指标。 对于“1×Seq2Edit+1×Seq2Seq”,我们随机选择一对单一模型。 对于“3×Seq2Edit+3×Seq2Seq”,我们汇总了所有六个单一模型的结果。

5 Experiments on NLPCC18-Orig Data

训练数据:将训练数据严格限制为公共资源,即 Lang8 数据 和 HSK 数据,按照 Junczys-Dowmunt 等人 (2018) 的重新加权程序,我们将 HSK 数据复制五次,并将它们与 Lang8 数据合并。 问题??

  • 当仅使用 Lang8 进行训练时,我们的单个 Seq2Seq 模型已经具有相当的竞争力。 它的性能在 F0.5 中仅比 MaskGEC (Zhao and Wang, 2020) 低 1 个百分点。
  • 添加 HSK 训练数据可将我们所有模型的性能提高约 4 个百分点。 我们的两个基准模型已经在单模型设置下实现了 SOTA 性能。
  • 与单个模型相比,模型集成技术带来了明显的性能提升(超过 5 分)。 然而,增加组件模型数量的收益似乎相当小。

6 Experiments on MuCGEC

6.1 Data Splits

在这项工作中,我们建议通过从 CGED 源中随机选择 1,125 个句子,为我们新标注的数据集提供一个固定的开发集,表示为 CGED-dev。 剩下的5938个句子作为测试集,其中每个数据源的句子数量大致相等,即NLPCC18-test 1996个句子,CGED-test 2000个句子,Lang8-test 1942个句子。(以往是随机选择)

6.2 Evaluation Metrics

  • 基于单词的指标存在问题:以前的 CGEC 数据集是根据单词序列进行标注的,并采用基于单词的度量标准进行评估。 在标注和评估之前,需要使用中文分词 (CWS) 模型将句子分割成单词。因为1)CWS 模型不可避免地会产生分词错误。 2)存在多种异构的CWS标准。3)我们发现正确的编辑可能会因为词边界不匹配而被判断为错误的。

这项工作改为采用基于字符的跨度级别评估指标。 首先,给定一个输入句子和一个修正,我们获得了具有最小编辑距离的最佳字符级编辑序列。 我们考虑三种类型的字符级编辑,对应三种错误类型:
• 为冗余错误,删除一个字符;
• 为缺失的错误,插入一个字符;
• 为替换错误,将一个字符替换为另一个;

然后,我们按照之前在 EGEC 和 CGEC 中的做法,通过合并相同类型的连续编辑,将所有字符级别的编辑转换为跨度级别。上述两个步骤应用于系统输出序列和黄金饮用,将它们转换为跨度级编辑集。 最后,我们可以通过比较它们来计算P/R/F值。 如果有多个黄金饮用,我们会选择 F-score 最高的那个。

  • 跨度级词序错误:在计算整体指标时,我们只考虑以上三类错误。 在分析时,我们区分了第四种错误类型——词序错误。 跨度级词序错误通常由冗余错误和缺失错误组成,其中删除的跨度与插入的跨度相同。 我们使用简单的启发式规则来识别此类错误

6.3 Results and Analysis

  • 性能变化的总体趋势与表 5 中原始 NLPCC18 数据集上的基本一致。首先,Seq2Seq 和 Seq2Edit 模型在 F0.5 上表现相当接近,但在精度和召回率上明显表现出不同的强度,其次,模型集成方法大大提高了性能。

  • 一个有趣的观察是,在 MuCGEC 上,“3×Seq2Edit+3×Seq2Seq”在 All-test 和所有三个子集上明显优于“1×Seq2Edit+1×Seq2Seq”。 相比之下,原始 NLPCC18 测试数据中两者的改进并不大。 我们怀疑这可能表明多参考数据集可以更准确地评估模型性能。 然而,它可能需要进一步的人类调查以获得更多见解。

  • 最后,模型和人类之间仍然存在巨大的性能差距,表明 CGEC 研究还有很长的路要走。

  • 四种错误类型的表现:表 7 显示了对四种错误类型的更细粒度的评估结果

    1)Seq2Edit 模型更擅长处理冗余错误,而 Seq2Seq 模型更擅长处理替换和词序错误。 对于遗漏错误,两者表现相似。

    2)可以在考虑底层模型架构后理解。 一方面,为了纠正冗余错误,Seq2Edit 模型只需要执行固定的删除操作,这对于 Seq2Seq 模型来说是一个隐含得多的选择(问题??),因为它的目标是重写整个句子。 另一方面,Seq2Seq 由于其利用语言模型信息的天然能力,特别是在 BART 的增强下,适合替换或重新排序单词

    3)同样,模型集成方法显着提高了所有错误类型的性能。 集成模型在冗余错误方面最接近人类,可能是因为它们最容易纠正。 最大的差距出现在词序错误中,这需要全局结构知识来纠正并且极具挑战性。

    4)当最大引用数增加时,模型和人类的性能都会不断提高,尤其是人类。 由于只有少数句子有超过 3 个引用,因此当最大引用数从 3 增加到 All 时,改进非常小。 这一趋势表明,与单参考数据集相比,多参考数据集降低了低估表现的风险,因此对于模型评估更可靠。

8. Conclusions

本文介绍了 MuCGEC,这是一个新标注的 CGEC 评估数据集,由 CSL 学习者编写的 7,063 个句子组成。 与现有的 CGEC 数据集相比,由于三个重要特征,我们的数据集可以支持更可靠的评估:1)提供多个参考; 2)涵盖三个文本源; 3) 采用严格的质量控制(即标注指南和工作流程)。 在描述了数据构建过程之后,我们对我们的数据进行了详细的分析。 然后,我们采用两种主流且有竞争力的 CGEC 模型,即 Seq2Seq 和 Seq2Edit,并进行基准实验。 我们还建议采用基于字符的评估指标来取代以前使用的基于单词的评估指标。