标签:纠错 apple 修改 距离 拼写 单词 编辑 自然语言 输入
一.编辑距离
关于编辑距离,在我的博客https://www.cnblogs.com/loubin/p/13672786.html中已经详细的介绍了。简短的说就是把一个单词修改成另一个单词需要的修改次数。当然,每一次只能增加一个字符,删除一个字符,或者更换一个字符。例如,apple和apply的编辑距离是1,只需要将e改成y即可。dog和pig的编辑距离是2,因为要把‘do’改成‘pi’。
二.拼写纠错初级版
其实就是去词典中找与输入的单词编辑距离最小的单词,例如,如果我输入apple,就去词典中对每个单词计算与apple的编辑距离,然后选择编辑距离最小的那个单词。但是,这样的话时间复杂度是O(v),这里v是词典中的单词个数,一般都是非常大的,例如几百万,所以时间复杂度可以说是非常大了。
三.拼写纠错高级版
对于输入的单词, 首先列出与其编辑距离为1的所有单词,然后基于这些单词再修改一次,生成与输入单词编辑距离为2的单词(当然,也可能修改回原样,这样编辑距离是0,也有可能修改后编辑距离还是1,但是两次修改之后,编辑距离一定是0,1,2)。然后再从这些单词中选择出最有可能的那个单词。那么具体怎么选择的呢?
假设输入的单词是s,我们要找到正确的单词$\hat{c} $
标签:纠错,apple,修改,距离,拼写,单词,编辑,自然语言,输入 来源: https://www.cnblogs.com/loubin/p/13692813.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。