import re
import collections
def words(text):
return re.findall('[a-z]+', text.lower())
def train(features):
model = collections.defaultdict(lambda: 1)
for f in features:
model[f] += 1
return model
with open(r'C:\Python34\big.txt') as fp:
NWORDS = train(words(fp.read()))
alphabet = 'abcdefghijklmnopqrstuvwxyz'
def edits1(word):
splits = [(word[:i], word[i:]) for i in range(len(word) + 1)]
deletes = [a + b[1:] for a, b in splits if b]
transposes = [a + b[1] + b[0] + b[2:] for a, b in splits if len(b)>1]
replaces = [a + c + b[1:] for a, b in splits for c in alphabet if b]
inserts = [a + c + b for a, b in splits for c in alphabet]
return set(deletes + transposes + replaces + inserts)
def known_edits2(word):
return set(e2 for e1 in edits1(word) for e2 in edits1(e1) if e2 in NWORDS)
def known(words):
return set(w for w in words if w in NWORDS)
def correct(word):
candidates = known([word]) or known(edits1(word)) or known_edits2(word) or [word]
return max(candidates, key=NWORDS.get)
不走小道
- 粉丝: 3343
- 资源: 5059
最新资源
- 基于JAVA+SpringBoot+Vue+MySQL的校园在线拍卖系统 源码+数据库+论文(高分毕业设计).zip
- YOLO 系列的 PaddlePaddle 实现,PP-YOLOE+、RT-DETR、YOLOv5、YOLOv6、YOLOv7、YOLOv8、YOLOv10、YOLOX、YOLOv5u、YO.zip
- 基于JAVA+SpringBoot+Vue+MySQL的学生宿舍管理系统 源码+数据库(高分毕业设计).zip
- 基于socket的扫雷小游戏,用qt创建界面
- 基于JAVA+SpringBoot+Vue+MySQL的学生信息管理系统 源码+数据库+论文(高分毕业设计).zip
- 基于JAVA+SpringBoot+Vue+MySQL的学生成绩管理系统 源码+数据库+论文(高分毕业设计).zip
- 基于JAVA+SpringBoot+Vue+MySQL的学生综合成绩测评系统 源码+数据库(高分毕业设计).zip
- 基于JAVA+SpringBoot+Vue+MySQL的学习平台 源码+数据库+论文(高分毕业设计).zip
- 基于JAVA+SpringBoot+Vue+MySQL的学生综合测评系统 源码+数据库+论文(高分毕业设计).zip
- yolo 系列的 tensorrt (YOLOv11、YOLOv10、YOLOv9、YOLOv8、YOLOv7、YOLOv6、YOLOX、YOLOv5),nms 插件支持.zip
- 基于JAVA+SpringBoot+Vue+MySQL的医患档案管理系统 源码+数据库(高分毕业设计).zip
- java项目,课程设计-旅游管理系统.zip
- 基于JAVA+SpringBoot+Vue+MySQL的洋州影院购票管理系统 源码+数据库(高分毕业设计).zip
- PIL-批量旋转图片-python实现
- 基于JAVA+SpringBoot+Vue+MySQL的一起来约苗系统 源码+数据库(高分毕业设计).zip
- YOLO 系列的监督和半监督对象检测库.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈