赞
踩
文本纠错任务,指的是识别输入文本中出现的拼写错别字及其位置信息,并给出正确的修改建议的任务。文本纠错是自然语言处理领域一项非常重要的任务,在搜索引擎、语音识别、教育等领域有广泛的应用,能够显著地提高各种场景下语义的准确性。比如在搜索引擎场景下,用户经常在搜索时输入错误,利用文本纠错纠正搜索query并提示给用户,可以帮助用户得到更符合要求的搜索结果。对于自动语音识别(Automatic Speech Recognition, ASR)的场景,通过将文本纠错嵌入到对话系统中,可以自动修正语音转文本过程中的错别字。利用ASR模型的结果,针对模型特点训练出的文本纠错模型,可以显著提高语音识别的准确率,提升智能音箱的产品体验。文本纠错可以检测出学生作文中的错别字、标点误用,可以应用于对作文的预批改,减轻语文老师批改作文的工作量。文本纠错还可以辅助出版社进行文本校对工作,辅助光学文字识别(Optical Character Recognition, OCR)纠错,音似、形似错别字的纠正,可用于中文拼音、笔画输入法的错误纠正。
中文错别字的通常是由于发音相同或者相似(比如警踢-警惕)或者字形相近(但护-袒护),也有字音和字形都相似的情况(逆竟-逆境)。由于中文词与词之间没有明确的边界,相比于英文文本纠错,中文纠错更加依赖于上下文的信息。
传统的中文文本纠错方法包括基于错别字词典、语言模型(比如n-gram)等,这种算法多是分成错误检测和错误纠正两阶段,比如Pycorrector。早期的机器学习算法包括基于RNN序列、机器翻译和CNN的算法,比如百度的文本纠错模型。
谷歌推出BERT之后,基于BERT和Transformer的纠错算法去的了很好的效果,比如Soft-Masked BERT,FASpell等。
当前的模型均是在Bert-base的基础上,通过引入更多的语言学特征提升性能,其中一方面是增加检错能力,另一方面是引入字音、形约束,这两点的目的均在于Bert-base纠错时仅从预训练的语料规律出发,容易在SIGHAN测试集上产生过纠行为,会造成比较高的过纠率(False Alarm Rates,FAR)。在实际应用场景中,错误的字词通常只占整个文本的很少一部分,因此过纠的问题会比较显著。
基于以上调研和现有方法的不足,我们提出了一种两阶段的文本纠错算法:DCSpell。限制Bert-base的纠错能力,并使纠错结果收敛到相近的字音、字形下。DCSpell由两部分组成:检测器(Detector)和纠正器(Corrtor)。
Detector使用序列标注算法,进行文本错误位置的检测,将输入的文本中错误的字标出来,用[MASK]替代。Detector参考了ELECTRA的预训练方法:replaced token detector。ELECTRA由生成器和判别器组成。ELECTRA的生成器是一个小的MLM模型,随机选取15%的token替换为[MASK],训练生成器生成[MASK]位置的token。ELECTRA的判别器用来判断每个位置的字符是否被生成器替换过。我们先利用原始文本对模型进行replaced token detector预训练。然后利用错误文本针对错误检测进行训练。这种训练方法提升了模型的泛化能力,具有较好的鲁棒性。
Corrector用来进行进行文本错误纠正。Corrector利用原始的错误文本和被遮罩后的文本进行MLM任务训练,令Corrector预测词表里面的词在被Detector标记为[MASK]位置的概率。因为BERT模型可以输入双句,我们将被[MASK]的错误文本和原本的错误文本都输入模型中。通过Transformer中的自注意力层,错误文本的字形和字音信息可以辅助对[MASK]位置的预测。得到词表里的词的条件概率后,结合混淆集合进行错误纠正。
除了常用的SIGHAN数据集外,我们还利用语音识别生成了错误文本。使用Speech Transformer模型进行语音识别,得到包含错别字的错误文本。我们针对语音识别的场景生成了混淆集。
在对SIGHAN数据集和语音识别数据集上,我们都取得了很好的效果。
SIGHAN数据集的实验结果:
语音识别数据集的实验结果:
同时,基于两阶段算法的特点,我们取得了很低的过纠率:
由于双句输入使得错误文本的字形和字音信息可以辅助对[MASK]位置的预测,以及基于混淆集合的后处理操作,相比于其他一阶段模型,我们的算法更少出现语义通顺但是与原意不符合的过纠情况:
并且,对于输入的错误文本中出现的未登录词,如果模型的判别器判断出该词是正确的,则不需要对该未登陆词进行纠正了,从而能减少对未登陆词的纠错,降低了由此引起的错误率。进一步地,这种两阶段纠错的方式也可以很容易地和一阶段纠错的方法结合,降低一阶段方法的过纠率。对垂直专业的文本,基于ELECTRA的预训练方案可以用少数文本迅速训练得到鲁棒的纠错模型。
作者列表:
李晶,创新工场算法工程师
吴高升,创新工场算法工程师
尹大朏,创新工场技术总监
王号召,华中科技大学博士在读
王咏刚,创新工场人工智能工程院院长
DCSpell: A Detector-Corrector Framework for Chinese Spelling Error Correction
Jing Li, Gaosheng Wu, Dafei Yin, Haozhao Wang and Yonggang Wang
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。