使用NLTK / Python生成N个随机英语单词的字符串

时间:2019-03-16 18:42:48

标签: python string random nltk vocabulary

是否可以使用NLTK / Python生成N个随机英语单词的字符串?

我知道NLTK能够根据输入文本和语法生成句子,但是我不需要根据任何语法生成句子-我只需要从给定的词典/词汇表中随机选择N个单词,并将它们串联成一个字符串。我还知道可以生成随机字符串或使用NLTK使用n-gram生成“看似英语的”无意义的单词的能力,但是我需要这些单词是某些词典文件中的实际英语单词。

我尝试这样做:

from nltk.corpus import words
from random import sample

n = 100
rand_words = ' '.join(sample(words, n))

但是words并不是可迭代的,因此我不能以这种方式使用它。使用NLTK的内置词典创建随机英语单词字符串的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

您只需要使用words()函数corpus-structure

rand_words = ' '.join(sample(words.words(), n))