Home

Awesome

MuCGEC: A Multi-Reference Multi-Source Evaluation Dataset for Chinese Grammatical Error Correction & SOTA Models

English | 简体中文

最新消息

引用

如果您认为我们的工作对您的工作有帮助,请引用我们的论文:

MuCGEC: a Multi-Reference Multi-Source Evaluation Dataset for Chinese Grammatical Error Correction (Accepted by NAACL2022 main conference) [PDF]

@inproceedings{zhang-etal-2022-mucgec,
    title = "{M}u{CGEC}: a Multi-Reference Multi-Source Evaluation Dataset for {C}hinese Grammatical Error Correction",
    author = "Zhang, Yue  and
      Li, Zhenghua  and
      Bao, Zuyi  and
      Li, Jiacheng  and
      Zhang, Bo  and
      Li, Chen  and
      Huang, Fei  and
      Zhang, Min",
    booktitle = "Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies",
    month = jul,
    year = "2022",
    address = "Seattle, United States",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2022.naacl-main.227",
    pages = "3118--3130",
    }

简介

给定一段中文文本,中文语法纠错(Chinese Grammatical Error Correction, CGEC)技术旨在对其中存在的拼写、词法、语法、语义等各类错误进行自动纠正。该技术在教育、新闻、通讯乃至搜索等领域都拥有着广阔的应用空间。

目前的中文语法纠错评测集存在着数据量小,答案少,领域单一等缺陷。为了提供更加合理的模型评估结果,本仓库提供了一个高质量、多答案CGEC评测数据集MuCGEC。与此同时,为了推动CGEC领域的发展,我们还额外提供了如下资源:

MuCGEC数据集

我们的数据主要来自中文二语学习者,分别采样自以下数据集:NLPCC18测试集(来自于NLPCC18-shared Task2评测任务)、CGED测试集(来自于CGED18&20评测任务)以及中文Lang8训练集(来自于NLPCC18-shared Task2评测任务)。我们从三个数据来源各采样2000-3000句,采用三人随机标注加审核专家审核方式构建测试集。数据的整体统计如下表所示。

数据集句子数错误句子数(比例)平均字数平均编辑数平均答案数
MuCGEC-NLPCC1819961904(95.4%)29.72.52.5
MuCGEC-CGED31252988(95.6%)44.84.02.3
MuCGEC-Lang819421652(85.1%)37.52.82.1
MuCGEC-ALL70636544(92.7%)38.53.22.3

相较于之前的CGEC评测集(如NLPCC18和CGED),MuCGEC拥有更丰富的答案和数据来源。此外,在标注过程中,我们还发现有74句句子因为句意不清等问题无法标注。

更多关于MuCGEC数据集的细节,请参考我们的论文。

数据下载链接

MuCGEC数据集目前开放了开发集,测试集以在线榜单形式给出,请参考链接https://tianchi.aliyun.com/dataset/dataDetail?dataId=131328 使用。

<!-- **注:我们目前正在筹划基于MuCGEC数据集的评测任务,所以MuCGEC数据集暂时未放出。我们将会放出开发集,并且以公开榜单的形式放出测试集,请耐心等待。** -->

CGEC基准模型

实验环境安装

我们采用Python 3.8进行实验,通过以下代码可以安装必要的依赖,考虑到Seq2Edit模型的环境和Seq2Seq模型存在一些冲突,需要分别安装两个环境:

# Seq2Edit模型
pip install -r requirements_seq2edit.txt

# Seq2Seq模型
pip install -r requirements_seq2seq.txt

训练数据

我们实验所用训练集为:Lang8数据集(来自外语学习网站Lang8)和HSK数据集(北语开发的汉语学习考试数据集)中的错误句子,并且对HSK数据集上采样5次,过滤掉和我们测试集重复的部分,共计约150万对。

下载方式:Google Drive

模型使用

我们提供了使用模型的流水线脚本,包含预处理-训练-推理的流程,可参考./models/seq2edit-based-CGEC/pipeline.sh./models/seq2seq-based-CGEC/pipeline.sh

与此同时,我们也提供了训练后的checkpoint以供测试(下列指标均为精确度/召回度/F0.5值):

模型NLPCC18-Official(m2socrer)MuCGEC(ChERRANT)
seq2seq_lang8[Link]37.78/29.91/35.8940.44/26.71/36.67
seq2seq_lang8+hsk[Link]41.50/32.87/39.4344.02/28.51/39.70
seq2edit_lang8[Link]37.43/26.29/34.5038.08/22.90/33.62
seq2edit_lang8+hsk[Link]43.12/30.18/39.7244.65/27.32/39.62

下载后,分别解压放入./models/seq2seq-based-CGEC/exps./models/seq2edit-based-CGEC/exps即可使用。其中,seq2seq模型基于Chinese-BART-Large预训练语言模型,seq2edit模型基于StructBERT-Large预训练语言模型。

我们在论文中使用的模型融合策略请参考./scorers/ChERRANT/ensemble.sh

Tips

模型评估

针对NLPCC18官方数据集,可使用我们的基准模型预测后,通过NLPCC18的官方工具M2Scorer进行计算指标。需要注意的是预测结果必须使用PKUNLP工具分词。

针对MuCGEC数据集的相关指标,可以采用我们提供的ChERRANT工具进行指标计算。 ChERRANT的相关使用可参考./scorers/ChERRANT/demo.sh。对于字级别指标,我们部分参考了ERRANT_zh仓库,词级别指标及错误类型划分我们则参考了原始ERRANT

错误类型

相关工作

联系

如果您在使用我们的数据集及代码的过程中遇到了任何问题,可联系 hillzhang1999@qq.com