Я новичок в кодировании в целом, и подумал, что сейчас самое время научить себя Python.
То, чего я сейчас пытаюсь достичь, - это определить список слов, которые полностью составленный из переменного набора root слов, слогов, префиксов и суффиксов, которые я выберу.
Вот где я до сих пор;
from nltk.corpus import words as english
vocab = set(w.lower() for w in english.words())
syllables = ('in', 'con', 'sis', 'tent', 'tant', 'si', 'ate', 'der', 'ing', 'a', 'c', 't')
syl_set=set(syllables)
for word in vocab:
if all(x in syl_set for x in set(word)):
print (word)
С при помощи установки NLTK с загруженным корпусом Words я могу выполнить поиск по списку слов Engli sh и вывести список слов, состоящих из отдельных букв в моем списке слогов (показан выше), например, cat , такт.
Однако при этом не выводятся слова, состоящие из строк, которые длиннее одной буквы, например, непротиворечивые, внимательные.
Может кто-нибудь объяснить, почему эти многобуквенные строки не используются для поиска слов, которые они могли бы произнести? Кроме того, любые советы о том, как решить эту проблему, будут высоко оценены.
Спасибо, Маркус