拼写纠错(Spelling Correction)
1 任务定义
拼写纠错(Spelling Correction),又称拼写检查(Spelling Checker),往往被用于字处理软件、输入法和搜索引擎中,如下所示:
2 类型
拼写纠错一般可以拆分成两个子任务:
Spelling Error Detection:按照错误类型不同,分为Non-word Errors和Real-word Errors。前者指那些拼写错误后的词本身就不合法,如错误的将“giraffe”写成“graffe”;后者指那些拼写错误后的词仍然是合法的情况,如将“there”错误拼写为“three”(形近),将“peace”错误拼写为“piece”(同音),将“two”错误拼写为“too”(同音)。
Spelling Error Correction:自动纠错,如把“hte”自动校正为“the”,或者给出一个最可能的拼写建议,甚至一个拼写建议列表。
2)Non-word拼写错误
Spelling error detection:任何不被词典所包含的word均被当作spelling error,识别准确率依赖词典的规模和质量。
Spelling error correction:查找词典中与error最近似的word,常见的方法有Shortest weighted edit distance和Highest noisy channel probability。
3)Real-word拼写错误
Spelling error detection:每个word都作为spelling error candidate。
Spelling error correction:从发音和拼写等角度,查找与word最近似的words集合作为拼写建议,常见的方法有Highest noisy channel