代码拉取完成,页面将自动刷新
自然语言处理(NLP)- 一个英文拼写纠错系统; 功能:给出拼写错误的单词,返回一个正确的单词,或者返回一个与输入单词最接近的单词; IDE:pycharm;python3.5;PYQT做界面; 数据: 使用big.txt作为语料库。
效果如图
软件架构说明
主要算法原理:
编辑距离(这里使用的是替换操作算一次开销的版本,跟插入和删除等价):
这里的东西请看我的博客算法里的编辑距离问题,这里不在详细说明。
具体处理方法:
把big.txt的全部单词变成小写,并且计算他们出现的次数,再除以单词总数(字典长度)作为该词的频率,对输入的单词在词典里进行匹配,至少0次编辑,最多2次编辑。找出编辑距离最小的,当编辑距离为最小的不只一个时,找出所有单词里的概率最大的作为输出。
一般来说,对于错误单词,大多错误字母数在1-2范围内,所以只需找到编辑距离为1-2的,就会有相应的正确单词出现。 编辑距离算法时间复杂度比较高且需要对字典进行搜索匹配,所以总体开销比较大。 概率方面使用的朴素贝叶斯的方法,本系统是小型的英文单词纠错系统,若是百度谷歌微软的纠错系统则更为复杂。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。