中文文本纠错任务中的检测任务负责对文本的所有字进行判断,判断每个字是否有错误。看起来像是一个标准的序列标注任务,每个位置有两种可能,正确 或者 错误。检测任务能采用的模型有很多,传统的方法用特征工程+HMM或者CRF,或者用神经网络来编码文本的信息,然后再加上一个全连接层或者CRF。检测任务存在的价值主要是为了检测那些可能出现错误的位置,后续任务再针对那些出错的位置进行排查即可。没有检测任务的话,就需要对每个位置进行纠正,那样可能的组合数量就非常庞大,耗时就难以被接受。
我们把中文常见错误总结分为三类: 1、用词错误,由于输入法等原因导致的选词错误,其主要表现为音近,形近等; 2、文法/句法错误,该类错误主要是由于对语言不熟悉导致的如多字、少字、乱序等错误,其错误片段相对较大; 3、知识类错误,该类错误可能由于对某些知识不熟悉导致的错误,要解决该类问题,通常得引入外部知识、常识等。
当然,针对确定场景,这些问题并不一定全部存在,比如输入法中需要处理1234,搜索引擎需要处理1234567,ASR 后文本纠错只需要处理12,其中5主要针对五笔或者笔画手写输入等。
中文本纠错的 paper 很多,整体来看,可以统一在一个框架下,即三大步:
该阶段主要目的在于,判断文本是否存在错误需要纠正,如果存在则传递到后面两层。这一阶段可以提高整体流程的效率。
错误识别/检测的目标是识别输入句子可能存在的问题,采用序列表示(Transformer/LSTM)+CRF的序列预测模型,这个模型的创新点主要包括: 1、词法/句法分析等语言先验知识的充分应用; 2、特征设计方面,除了DNN相关这种泛化能力比较强的特征,还结合了大量hard统计特征,既充分利用DNN模型的泛化能力,又对低频与OOV(Out of Vocabulary)有一定的区分; 3、最后,根据字粒度和词粒度各自的特点,在模型中对其进行融合,解决词对齐的问题
候选召回指的是,识别出具体的错误点之后,需要进行错误纠正,为了达到更好的效果以及性能,需要结合历史错误行为,以及音形等特征召回纠错候选。主要可分为两部分工作:离线的候选挖掘,在线的候选预排序。离线候选挖掘利用大规模多来源的错误对齐语料,通过对其模型,得到不同粒度的错误混淆矩阵。在线候选预排序主要是针对当前的错误点,对离线召回的大量纠错候选,结合语言模型以及错误混淆矩阵的特征,控制进入纠错排序阶段的候选集数量与质量。
该阶段主要目的在于,利用一种或多种策略(规则或模型),生成针对原句的纠正候选。这一阶段是整体流程召回率的保证,同时也是一个模型的上限。
该阶段主要目的在于,在上一阶段基础上,利用某种评分函数或分类器,结合局部乃至全局的特征,针对纠正候选进行排序,最终排序最高(如没有错误识别阶段,则仍需比原句评分更高或评分比值高过阈值,否则认为不需纠错)的纠正候选作为最终纠错结果。
在OpenReview上提交至ARR2022的相关稿件有:
简单总结一下目前CSC的方法:
技术方案 FASPell: A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based On DAE-Decoder Paradigm
技术方案 SpellGCN: Incorporating Phonological and Visual Similarities into Language Models for Chinese Spelling Check
技术方案:Spelling Error Correction with Soft-Masked BERT
技术方案 Spelling Correction as a Foreign Language
版权声明:此文自动收集于网络,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。
本文地址:https://www.miekuo.com/fanwendaquan/qitafanwen/987826.html