Создайте строку из N случайных английских слов с помощью NLTK / Python - PullRequest
1 голос
/ 16 марта 2019

Есть ли способ генерировать строку из N случайных английских слов, используя NLTK / Python?

Мне известно о способности NLTK генерировать предложения на основе входного текста и грамматики, но мне не нужно генерировать предложения на основе любого вида грамматики - мне просто нужно случайным образом выбрать N слов из данного словаря / словаря и объединить их в строку. Мне также известно о способности генерировать случайные строки символов или о том, как использовать NLTK для генерации «выглядящих по-английски» бессмысленных слов, используя n-граммы, но мне нужно, чтобы слова были реальными английскими словами из некоторого файла словаря.

Я пытался сделать это:

from nltk.corpus import words
from random import sample

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

Но words не повторяется, поэтому я не могу использовать его таким образом. Как правильно создать случайную строку английских слов, используя встроенные словари NLTK?

1 Ответ

3 голосов
/ 16 марта 2019

вам просто нужно использовать функцию words() корпус

rand_words = ' '.join(sample(words<b>.words()</b>, n))
...