中文文本錯誤糾正

拼寫錯誤糾正

專注於發現字符的錯誤並修正它,輸出的文本長度不變,句子結構不變,大多數字符保持不變,只有少量字符需要被修改
輸入:我看過許多勇敢的人,不怕折地奮鬥,這種精神值得我們學習。
輸出:我看過許多勇敢的人,不怕折地奮鬥,這種精神值得我們學習。

錯誤產生原因

  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(上下文置信度和字符相似度)來過濾候選對象
    在這裏插入圖片描述

語法錯誤糾正

需要做刪除和插入的操作,輸出的文本長度可能有變化
語法糾正錯輸入輸出樣例