中文语法纠错任务旨在对文本中存在的拼写、语法等错误中止自动检测和纠正,是自然言语处置范畴一项重要的任务。同时该任务在公文、新闻和教育等范畴都有下落地的应用价值。但由于中文具有的文法和句法规则比较复杂,基于深度学习的中文文本纠错在实践落地的场景中依旧具有推理速度慢、纠错精确率低和假阳性高等缺陷,因而中文文本纠错任务还具有十分大的研讨空间。 达观数据在CCL2022汉语学习者文本纠错评测竞赛的赛道一中文拼写检查(Chinese Spelling Check)任务中取得了冠军,赛道二中文语法纠错(Chinese Grammatical Error Diagnosis)任务中取得了亚军。本文基于赛道二中文语法纠错任务的内容,对比赛过程中采用的一些措施中止分享,并引见竞赛采用的技术计划在达观智能校正系统中的应用和落地。赛道一中文拼写检查的冠军计划会在后续的文章分享。 本次中文语法纠错任务是对给定的句子输出可能包含的错误位置、错误类型和修正答案,而最终的评测指标是假阳性、侦测层、辨认层、定位层和修正层这五个维度指标的综合结果。而且本次评测任务运用的数据是汉语学习者的写作内容,与母语写作者相比汉语学习者的数据自身就具有句子流利度欠佳、错误复杂度较高等状况。因而,本次评测的难度在于关于汉语学习者的书写内容既要保障检错和纠错的精确率和召回率,还要保障正确句子不能中止修正操作以降低模型的假阳性。本文主要从数据和模型两方面来分享本次竞赛中采用的模型和战略。 数据剖析本次评测中,官方提供了CGED的历年竞赛数据(41,239条)和Lang8数据(1212,457条)供模型锻炼,同时提供了3767条评测数据用以考证模型的效果和性能。为了解数据的错误散布以及数据的质量,我们首先对评测数据中止了剖析。CGED-21考证集中的错误散布状况如图1所示,由此能够看出数据集中占绝大多数的均为用词错误,其次为缺失错误,而乱序错误的占比最少。 图1 考证集错误占比统计图 同时在数据检验的过程中还发现了CGED和Lang8数据集中存在的一些数据问题。 细致问题如下所示:
对此,我们也摘录了数据集中存在的一些问题的样例数据;由样例数据可知,不论采用哪种模型,数据中包含的这些错误均会招致模型产生一些错误的特征映射,从而影响模型的性能。因而在构建语法纠错模型之前首先需求对数据中止清洗,去除质量较差的句子。在本次竞赛中,数据预处置是应用编辑距离、字数差别和纠正字数等多个维度的评价来完成的。 表1 数据中的错误样例数据 纠错战略本次评测任务中的语法错误能够分为拼写错误、语法错误和符号错误。其中拼写错误包含形似音近错误,而语法错误则主要包含用词错误、缺失、乱序和冗余。这些错误类型具有差别性和多样性,应用单个模型难以掩盖一切的错误类型;因而,竞赛中采用串行的多阶段中文语法纠错措施来处置中文文本中存在的各种错误。 01拼写纠错模型 关于拼写纠错任务,我们是从数据和模型两个维度来中止处置的。数据方面,首先搜集了不同来源的混杂集词典并对其中止整合和扩展,然后基于混杂集和微信新闻语料生成了包含不同错误方式的大范围语料来对模型中止锻炼。模型方面是应用MDCSpell[2]来完成拼写纠错任务。进一步地,我们发现检错和纠错模块能够直接运用BERT输出的语义特征信息,而不需求舍弃CLS和SEP。而且这样还能保障两个模块的输出维度相同更方便特征信息的融合。 图2 拼写纠错模型结构图 此外,拼写纠错模型的定位是处置数据中存在的形似音近问题,而且整个流程还后接了语法纠错模型,所以拼写纠错模型只需求保障纠错的精确率高而误召回低。因而在推理阶段,拼写纠错模型还应用阈值对模型的输出中止判别以肯定能否接受当前的纠错结果。 02语法纠错模型 拼写纠错模型只能处置数据中存在的形似音近错误,因而我们基于序列到编辑的Seq2Edit模型来完成剩余的错误类型的纠正。Seq2Edit是目前最优的语法纠错模型,它经过预锻炼模型取得输入句子的语义特征编码,然后经过全衔接层预测句子中对应的每个句子的编辑标签,该模型对应的解码空间为插入、删除、交流、坚持和移动五种编辑操作。而且该模型还经过多任务的方式引入了检错模块,以便应用检错的输出信息增强模型的纠错效果。该语法纠错的模型结构和解码流程如下图所示: 图3 语法纠错流程图 原始Seq2Edit模型是经过删除和插入两种操作来处置句子中的乱序错误,但是由于模型的锻炼和推理阶段存在裸露倾向,故关于连续字符的缺失错误,模型可能因短少上下文特征信息即便经过多个轮次也无法中止纠正。例如下表中的乱序错误,当对一侧中止删除操作之后,而短少了大量的上下文信息故模型无法对另一侧的插入操作中止补齐。而且模型将乱序错误看作冗余和缺失两种错误的汇合也会招致模型对删除操作的置信度偏高。但是经过引入移动编辑操作的措施能够较好地处置乱序的问题。 表2 原始Seq2Edit模型对乱序错误的纠错才干 在推理阶段,为了在输出的标签空间中搜索出一条最优的解码途径,我们应用部分途径解码措施对部分的移动编辑操作肯定一条和为0的相对途径,并经过自顺应阈值的措施对不同编辑操作、不同的词性和词频肯定不同的修正接受阈值,由此进步模型的纠正精确率并处置模型的过度纠正等问题。 03模型集成 不同的模型学习到的语义特征信息存在一些差别,因而将多个差别较大而性能略差的模型正确的组合能够极大地提升模型的性能。本次评测中,我们对不同预锻炼模型锻炼的纠错模型中止加权集成以提升模型的精确率。此次参与模型集成的有Bert、MacBert和StructBert这3个预锻炼模型锻炼的6个Seq2Edit模型。 04数据增强榜单 在实验剖析的过程中,我们发现模型对多字词的缺失和句子不同位置的错误的纠错才干不同,并且当前的数据集未能掩盖绝大多数的错误,因而存在OOV的问题。所以我们应用数据生成的战略来处置因OOV招致的模型无法对错误中止纠正的问题。本次竞赛中,拼写纠错和语法纠错两个任务都用到了数据增强技术,且均运用微信公众号语料作为种子数据。关于数据增强,我们基于字和词两个维度中止数据扩展,并维护了生僻词表、词频表、键盘规划相邻表、形近混杂集和音近混杂集以保障生成的句子契合中文的语用频率和散布规律。 数据增强的流程如下所述: (1)数据预处置:对句子中止预处置并掩码掉非中文字符、人名和地名等字符位置; (2)采样设错位置:肯定对句子中止设错操作的字符位置; (3)采样设错类型:肯定当前字符位置的设错类型; (4)采样设错操作:针对步骤(3)中的设错类型肯定设错的操作,普通来说不同的设错类型对应的设错操作也不尽相同,冗余操作的设错操作包含重复当前字词、随机插入和按键盘规划相邻表等方式插入;用词错误的交流战略包含形似混杂集、音似混杂集和随机交流 针对拼写纠错任务形似字错误:音似字错误:词近似错误的比例为0.4:0.4:0.2;而语法纠错的比例是乱序错误:缺失错误:冗余错误:用词错误分别0.05:0.1:0.15:07 05其他战略
实验结果在本次竞赛的过程中,我们首先对比了基于Seq2Seq的模型和基于Seq2Edit模型的基准模型效果,然后选择了Seq2Edit模型作为本次竞赛的基本框架。由该赛道的评测指标可知,本次竞赛不只调查模型的纠错才干,还调查模型正确分辨句子对错的才干;因而我们锻炼了不同性能的多个模型并经过模型集成和困惑度来选择最优结果;不同模型的模型效果对比方下表所示。由表中数据可知,基于Seq2Seq的模型的检错才干较好,但同时模型引入了较高的误召回,从而使得假阳性的指标偏高;而基于Seq2Edit的措施更能够权衡精确率和召回率,使得模型在评测数据上取得更好的结果。同时经过对比可知,应用拼写纠错模型预先纠正用词错误,然后再对其他错误中止纠错,能够提升模型的效果。 表3 不同模型的效果对比 技术落中央案达观智能校正系统依托于自然言语处置和光学字符辨认等技术,完成了不同格式的输入文本的自动校正。该系统涵盖了内容纠错、格式纠错和行文规则纠错等针对不同应用场景下的纠错模块,其中内容纠错模块包含拼写纠错、语法纠错、指导人纠错、符号纠错和敏感词检测等多种校正模块。目前达观智能校正系统已支持公文范畴、金融范畴和通用范畴的文本校正任务,并且可针对不同范畴的校正需求为客户提供定制化的处置计划。 达观智能校正系统的如图4所示,其中心模块主要是文档解析和智能纠错。其中智能纠错模块基于预锻炼模型、序列标注、言语模型和学问蒸馏等技术不时提升中文文本纠错的精度和速度。同时达观智能校正系统也在不时探求新的技术以更好地完成范畴迁移和无痛解锁更多的应用场景。 图4 达观智能校正系统 总结瞻望对比本次竞赛和实践纠错工作中的技术落地点可知中文语法纠错的相关研讨距离工程落地还有一定的差距。 工程应用中的一些难点在于:
参考:1. http://cuge.baai.ac.cn/#/ccl_yaclc2. Chenxi Zhu, Ziqiang Ying, Boyu Zhang, and Feng Mao. 2022. MDCSpell: A Multi-task Detector-Corrector Framework for Chinese Spelling Correction. In Findings of the Association for Computational Linguistics: ACL 2022, pages 1244–1253, Dublin, Ireland. Association for Computational Linguistics. |