我想知道是否可以迭代一些可用的nltk字典,即:西班牙字典。我想找到符合某些要求的某些词语。
假设我得到了这个列表["tv", "tb", "tp", "dv", "db", "dp"]
,算法会给我["tapa", "tubo", "tuba", ...]
这样的词。正如你所看到的,如果你摆脱这些单词中的元音,它们将会出现在初始列表中:
无论如何,我只是想知道是否有可能在nltk字典上迭代西班牙语单词以及如何,这几乎是
答案 0 :(得分:1)
nltk有很多西班牙语资源,但我不知道字典。所以我会把词汇表的选择留给你,然后从那里继续。
通常,nltk将单词列表表示为语料库阅读器,使用常用方法words()
表示单个单词。所以,您可以在英语单词列表中找到与您的模板匹配的单词:
templates = set(["tv", "tb", "tp", "dv", "db", "dp"])
for w in nltk.corpus.words.words("en"):
<remove vowels and check if it is in `templates`>
我注意到那里有一个西班牙语停用词汇表;在这里你将如何迭代它:
for w in nltk.corpus.stopwords.words("spanish"):
...
你也可以创建自己的&#34; wordlist&#34;来自西班牙语语料库。我使用了恐慌报价,因为用于此目的的最佳数据结构是一组。在python中,迭代set
或dict
将为您提供密钥:
mywords = set(w.lower() for w in nltk.corpus.conll2002.words("esp.train"))
for w in mywords:
...