NLP消除错别字的方法?

NLP way to remove typos?

例如,“去年加入的持卡人平均年龄为5岁”。显然“5”是一个打字错误,我想在进一步处理之前将这句话规范化为“去年加入的持卡人的平均年龄”。我可以使用什么 NLP 技术来完成这项任务?

通过删除错别字来标准化输入并不是 NLP 中文本预处理的常用方法。

自动语法更正(包括修复明显的拼写错误)是一项相当复杂的任务,而且运行良好的解决方案对计算要求很高。目前,最好的结果是通过大型深度学习模型实现的。 HuggingFace Model Hub中的部分模型可以下载直接使用。作为更轻量级的解决方案,您可以尝试应用拼写检查器或编写一些适合您的数据的规则。

通常的方法不是在预处理步骤中消除错误,而是使 NLP 模型和算法对源噪声具有鲁棒性。在简单的统计模型中,这通常是通过只考虑在训练数据中只出现几次的单词(或单词 n-gram)来实现的。大型神经模型通常通过对所有可用数据进行大规模预训练而变得稳健。