Я хочу создать облака слов из разных частей речи текста. Проблема, с которой я сталкиваюсь, заключается в том, что я не хочу сам настраивать параметры для каждого из них. Более того, поскольку я использую это для нескольких документов, очень утомительно делать это для каждого. Есть ли автоматизированный подход?
max_w=max(len(verbs),len(adjectives),len(adverbs),len(nouns))
word_cloud_generator("verbs",verbs,description,len(verbs)/max_w)
word_cloud_generator("adjectives",adjectives,description,len(adjectives)/max_w)
word_cloud_generator("adverbs",adverbs,description,len(adverbs)/max_w)
word_cloud_generator("nouns",nouns,description,len(nouns)/max_w)
def word_cloud_generator(part,data,description,scale):
TEXT= " ".join(data)
xlim=600*(scale)
ylim=600*(scale)
max_size= 200*(scale)
min_size=2*(scale)
threshold=4*(scale)
tags = make_tags(get_tag_counts(TEXT), maxsize=max_size,minsize=min_size)
tags=[a for a in tags if a['size'] > threshold]
filename=description+ "_"+part+'.png'
create_tag_image(tags,filename , size=(xlim, ylim), fontname='Molengo', \
background=(0,0,0),rectangular=True)
Пожалуйста помоги.
Редактировать: приведенный выше код пытается выбрать параметры облака слов в зависимости от количества слов в тексте. Но результаты, которые я получаю, недостаточно эффективны. Под эффективностью я подразумеваю лаконичное и неперекрывающееся облако слов с разумным размером изображения.
wordcloud = WordCloud(width=1600, height=800).generate(TEXT)
удаляет ли он общие слова или мне следует использовать process_text amueller.github.io/word_cloud/generated/ - person Abhishek Bhatia   schedule 07.08.2015