遍历nltk词典

时间:2016-09-19 07:03:00

标签: python nltk

我想知道是否可以迭代一些可用的nltk字典,即:西班牙字典。我想找到符合某些要求的某些词语。

假设我得到了这个列表["tv", "tb", "tp", "dv", "db", "dp"],算法会给我["tapa", "tubo", "tuba", ...]这样的词。正如你所看到的,如果你摆脱这些单词中的元音,它们将会出现在初始列表中:

  • tapa => TP
  • tubo => TB
  • tuba => TB

无论如何,我只是想知道是否有可能在nltk字典上迭代西班牙语单词以及如何,这几乎是

1 个答案:

答案 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中,迭代setdict将为您提供密钥:

mywords = set(w.lower() for w in nltk.corpus.conll2002.words("esp.train"))
for w in mywords:
    ...