專注於發現字符的錯誤並修正它,輸出的文本長度不變,句子結構不變,大多數字符保持不變,只有少量字符需要被修改
輸入:我看過許多勇敢的人,不怕措折地奮鬥,這種精神值得我們學習。
輸出:我看過許多勇敢的人,不怕挫折地奮鬥,這種精神值得我們學習。
打字錯誤:拼音輸入法可能產生拼音相似錯誤,五筆輸入法可能產生字形相似錯誤
自動語音識別(ASR):產生拼音相似錯誤
光學字符識別(OCR):產生字形相似錯誤
對於模糊集的構建有幫助,模糊集中拼音相似佔比大,效果更佳
拼寫錯誤糾正需要兩個東西:一是音近形近字(也就是模糊集),因爲正確的字大多來自相似的字符(不太可能是完全不相關的字符)。這樣就可以縮小正確字的搜索空間,二是語義。
傳統機器學習方法:從模糊集檢索候選字,然後通過語言模型計算句子分數(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(上下文置信度和字符相似度)來過濾候選對象
需要做刪除和插入的操作,輸出的文本長度可能有變化