Title: GrammarGPT: Exploring Open-Source LLMs for Native Chinese Grammatical Error Correction with Supervised Fine-Tuning
PDF: https://arxiv.org/pdf/2307.13923v1.pdf
Code: https://github.com/freedomintelligence/grammargpt
导读
ChatGPT在语法错误修正方面有着出色的能力,但它毕竟闭源,且模型推理成本过高。本文旨在构建一个关于中文语法错误修正方面的垂直领域大模型,从而提出了GrammarGPT。GrammarGPT的核心是利用ChatGPT通过提供某些线索来生成不符合语法的句子,对于没有线索的语法错误,作者从公开可用的网站收集不符合语法的句子,并进行手动修正。此外,作者还采用了一个错误不变的数据增强方法,用于增强模型纠正本地中文语法错误的能力。
最终,作者构建了约1K个平行数据,并利用该数据对开源的LLMs(入港中文发布的Phonenix)进行指令微调。 实验结果表明:GrammarGPT明显优于现有的SOTA模型。虽然模型参数比SOTA基准线大20倍,但指令微调所需的数据量小了1200倍,这展示了开源LLMs在本地中文语法错误修正方面的潜力。GrammarGPT在NLPCC2023 SharedTask1上排名第3。
引言
语法错误纠正(GEC)旨在自动纠正不符合语法的句子,同时不改变它们的意思。过去的研究主要关注外国中文学习者产生的明显和幼稚的语法错误,而最近的工作则转向由母语者产生的更为微妙和具有挑战性的语法错误。

如上表1列出了中文母语者常见的六种主要语法错误类型,可以分为有线索(w/)和无线索(w/o)两类。这些不正确的句子在表达上是流利的,并符合母语中文的使用习惯,但它们不符合中文语法,因此更难以纠正。
本文提出了GrammarGPT,并通过监督微调的方式来研究开源LLMs在纠正母语中文语法错误方面的潜力。在微调LLMs用于CGEC时,关键挑战是获得高质量的由母语者产生的并行数据,其中包括语法错误的样本。 由于手动注释这样的数据不仅耗时,而且成本极大,所以需要探索自动数据注释方法。近期的一些研究成功地利用ChatGPT和真实世界数据集中的精简数据来为特定领域的LLMs进行微调,从而有效降低成本并也取得了卓越性能。 关于特定任务的指令微调的工作根据数据来源可以分为三类:
-
由ChatGPT生成的数据
-
人工标注的数据
-
ChatGPT和人工混合的数据集
在这项研究中,作者受到这一研究线索的启发,提出了一种混合数据集,包含不同类型的母语中文语法错误。首先,作者提出了一种启发式方法,用于处理带有线索的语法错误,通过为ChatGPT提供线索来生成不符合语法的句子。然后,对于没有线索的错误,作者从公共网站收集了不符合语法的句子,并进行了手动纠正。此外,作者还提出了一种错误不变的数据增强方法,通过将并行数据中的命名实体替换为相似的实体,增强了数据的多样性,从而提高了模型纠正母语中文语法错误的能力。最终,作者构建了1k个并行数据,并利用这些数据通过指令微调来微调LLMs。
实验结果表明,GrammarGPT在中文语法错误纠正方面明显优于现有的SOTA系统。尽管该模型参数的大小是SOTA基线的20倍,但用于微调的数据量却小了1200倍,这证明了开源LLMs在中文语法错误纠正上的潜力。
本文贡献如下:
-
本文是第一个探索开源LLMs结合指令微调用于母语中文语法错误纠正的研究。
-
本文构建了一个混合数据集,其中既包括由ChatGPT生成的数据,又包括手动注释的数据,有效地覆盖了母语中文语法错误,使得LLMs在语法检测方面表现更加出色。
-
本文还设计了一种错误不变的数据增强方法,通过用相似的命名实体替换并行数据中的命名实体,使模型在纠正语法错误方面更加准确。
-
实验结果表明,GrammarGPT在性能上明显优于最先进的系统,且用于指令微调的数据量仅为最SOTA系统的1/1200。
方法

混合数据集构建

ChatGPT生成的数据
人工标注的数据
错误不变的数据增强

指令微调

-
任务后缀:该组件引导LLMs扮演一个AI助手的角色。 -
任务描述:在这里,概述了LLMs需要完成的具体任务。 -
输入:这对应于在微调过程中用作输入的不符合语法的句子。 -
输出:这表示符合语法的句子,它们在微调过程中作为期望的输出。
实验结果



-
无论是否应用数据增强,使用ChatGPT生成的数据进行训练的模型始终优于使用人工标注数据进行训练的模型。作者将这个观察结果归因于两个主要因素:首先,由于人工标注的成本较高,所以人工标注的数据量比ChatGPT生成的数据要小;其次,没有线索的语法错误确实更难以纠正。 -
混合数据集展示了提高母语中文语法错误纠正性能的潜力,这一发现证实了我们构建混合数据集的方法在包含母语中文语法错误方面的有效性。 -
通过采用错误不变的增强方法,可以观察到在混合数据集上训练的模型在召回率和F0.5指标上有显著的改进,但在精确率上只有轻微的改进。这表明该数据增强技术增强了模型检测语法错误的能力,通过迫使模型更加关注增强数据中的语法错误。
结论
特别说明:本文仅用于学术交流,如有侵权请后台联系小编删除。
– END –
转载来源:语言科学
转载编辑:杨淞幄