【发布时间】:2020-08-05 08:12:32
【问题描述】:
我正在学习 Python 并尝试在烧瓶中创建一个字谜创建器/求解器。
我正在使用 nltk 并设置了一个基本脚本,它可以解扰一组字母并从语料库中找到单词。我知道我的方法可能并不完美 - 请记住,我仍在学习 Python 中可用的功能 - 但它原则上是有效的,我创建了一个类似的脚本来查找一组字母中的所有单词。
我的问题是它只使用美式英语,所以在下面的示例中,“favro”变成了“favor”,即美式拼写,但“favrou”并没有变成“favour”,即英式拼写。
import itertools
import nltk
from nltk.corpus import words
english_vocab = set(w.lower() for w in nltk.corpus.words.words())
scramble = "favro"
sep = ""
for y in list(itertools.permutations(scramble, len(scramble))):
if (sep.join(y) in english_vocab):
print(sep.join(y))
有什么东西可以区分美式英语和英式英语吗?
我尝试使用“附魔”,它在求解器部分工作得很好,但是当我尝试在一个单词中创建一个单词列表时,它非常慢。例如,当我尝试查找“颜色”中的所有单词时,nltk 需要 0.08 秒,而附魔需要 2.5 秒。这个时间差随着字母数量的增加而增加,所以附魔是不可行的。
有什么想法吗?
史蒂夫
【问题讨论】: