在上一篇文章中,我翻译了 Peter Norvig 的 How to Write a Spelling Corrector,但其中介绍的拼写检查器并没有考虑错别字的上下文,拼写修正的效果并不是非常理想。在本文中,我会介绍 NLP 中一个常见的语言模型:Ngrams 模型,它可以使拼写校正器拥有感知上下文 (context-sensitive) 的能力,能够显著得提升错别字校正的准确率。在我随机生成的错别字测试集上,编辑距离加上 Ngrams 模型的错别字校正算法的准确率超过了 90%。
语言模型
Ngrams 语言模型
使用 SRILM 训练 Ngrams 语言模型
平滑算法与回退策略
感知上下文的拼写校正器
References
- How to Write a Spelling Corrector, Peter Norvig