中文文本错误纠正
拼写错误纠正
专注于发现字符的错误并修正它,输出的文本长度不变,句子结构不变,大多数字符保持不变,只有少量字符需要被修改
输入:我看过许多勇敢的人,不怕措折地奋斗,这种精神值得我们学习。
输出:我看过许多勇敢的人,不怕挫折地奋斗,这种精神值得我们学习。
错误产生原因
-
打字错误:拼音输入法可能产生拼音相似错误,五笔输入法可能产生字形相似错误
-
自动语音识别(ASR):产生拼音相似错误
-
光学字符识别(OCR):产生字形相似错误
错误类型
- 拼音相似性 83%
- 形态相似性 48%
对于模糊集的构建有帮助,模糊集中拼音相似占比大,效果更佳
用途
- 搜索查询纠错
- OCR、ASR纠错
- 文章评分
难点
- 缺少数据集
1.1 人工标注数据集 SIGHAN
1.2 自动化构建数据集 (使用OCR ASR技术构建 EMNLP2018《A Hybrid Approach to Automatic Corpus Generation for Chinese Spelling Check》) - 中文没有分隔符(有时会使用分词)
- 需要语义理解
“求胜欲”和“求生欲”在自然语言中都是正确的,但是结合上下文语境来分析,显然后者更为合适。 - 如何更好地利用模糊集(即音近形近字)
拼写错误纠正需要两个东西:一是音近形近字(也就是模糊集),因为正确的字大多来自相似的字符(不太可能是完全不相关的字符)。这样就可以缩小正确字的搜索空间,二是语义。
方法
-
传统机器学习方法:从模糊集检索候选字,然后通过语言模型计算句子分数(ACL2015 《Chinese spelling check system based on n-gram model》)
-
深度学习
把拼写错误纠正当成是序列标注或序列到序列的任务2.1 BiLSTM用于错误检测、语言模型结合模糊集用于纠错 (EMNLP2018《A Hybrid Approach to Automatic Corpus Generation for Chinese Spelling Check》)
2.2 ACL2019《Confusionset-guided Pointer Networks for Chinese Spelling Check》 模糊集指导的复制机制,复制正确字符,从模糊集选出纠错字符,模糊集结合指针网络
在最后的预测阶段做文章,P = softmax(Wv),针对不同的字符,会有不同的W跟v的处理方法2.3 EMNLP2019 《FASPell: A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based On DAE-Decoder Paradigm》 使用MLM作为DAE来生成候选对象,使用CSD(上下文置信度和字符相似度)来过滤候选对象
语法错误纠正
需要做删除和插入的操作,输出的文本长度可能有变化