中文文本错误纠正

拼写错误纠正

专注于发现字符的错误并修正它,输出的文本长度不变,句子结构不变,大多数字符保持不变,只有少量字符需要被修改
输入:我看过许多勇敢的人,不怕折地奋斗,这种精神值得我们学习。
输出:我看过许多勇敢的人,不怕折地奋斗,这种精神值得我们学习。

错误产生原因

  1. 打字错误:拼音输入法可能产生拼音相似错误,五笔输入法可能产生字形相似错误

  2. 自动语音识别(ASR):产生拼音相似错误
    ASR错误示例

  3. 光学字符识别(OCR):产生字形相似错误
    在这里插入图片描述

错误类型

  1. 拼音相似性 83%
  2. 形态相似性 48%

对于模糊集的构建有帮助,模糊集中拼音相似占比大,效果更佳

用途

  1. 搜索查询纠错
    在这里插入图片描述
  2. OCR、ASR纠错
  3. 文章评分

难点

  1. 缺少数据集
    1.1 人工标注数据集 SIGHAN
    1.2 自动化构建数据集 (使用OCR ASR技术构建 EMNLP2018《A Hybrid Approach to Automatic Corpus Generation for Chinese Spelling Check》)
  2. 中文没有分隔符(有时会使用分词)
  3. 需要语义理解
    在这里插入图片描述
    “求胜欲”和“求生欲”在自然语言中都是正确的,但是结合上下文语境来分析,显然后者更为合适。
  4. 如何更好地利用模糊集(即音近形近字)

拼写错误纠正需要两个东西:一是音近形近字(也就是模糊集),因为正确的字大多来自相似的字符(不太可能是完全不相关的字符)。这样就可以缩小正确字的搜索空间,二是语义。

方法

  1. 传统机器学习方法:从模糊集检索候选字,然后通过语言模型计算句子分数(ACL2015 《Chinese spelling check system based on n-gram model》)
    在这里插入图片描述

  2. 深度学习
    把拼写错误纠正当成是序列标注或序列到序列的任务

    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(上下文置信度和字符相似度)来过滤候选对象
    在这里插入图片描述

语法错误纠正

需要做删除和插入的操作,输出的文本长度可能有变化
语法纠正错输入输出样例