实现一个基础的spelling corrector

本文介绍了一个基于Peter Norvig的拼写纠正器的实现,主要关注错误单词到正确单词的单个字符更正。通过贝叶斯理论和编辑距离,找到条件概率最大的正确拼写单词。实现步骤包括计算词频、生成编辑距离为1的候选词并选择最高频率的正确词。测试结果显示,输入'corrector'时,最常写错的词被正确纠正为'correct'。
摘要由CSDN通过智能技术生成

题目假设:

  1. 有一个真实英文词汇的大辞典。
  2. 只实现错误单词到正确单词的更正。
  3. 只考虑不同于错误单词的单个字符(插入、删除或替换)的更正。

实现原理:

参考Peter Norvig的spelling corrector

给定一个单词,我们的任务是选择和它最相似的拼写正确的单词。(如果这个单词本身拼写就是正确的, 那么最相近的就是它自己)。当然,不可能绝对的找到相近的单词,比如说给定 lates 这个单词,它应该别更正为 late 呢,还是 latest 呢?这些困难指示我们,需要使用概率论,而不是基于规则的判断。我们说,给定一个词 w,在所有正确的拼写词中,我们想要找一个正确的词 c,使得对于 w 的条件概率最大,也就是说:
argmax_{c}P(c|w)
按照 贝叶斯理论 上面的式子等价于:
argmax_{c}\frac{P(w|c)P(c)}{P(w)}
因为用户可以输错任何词,因此对于任何 c 来讲,出现 w 的概率 P(w) 都是一样的,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值