我想生成文本不同词性的词云。我面临的问题是我不想自己为每个参数调整参数。此外,由于我在许多文档上运行它,因此对每个文档执行此操作非常繁琐。有自动化方法吗?
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)
请帮忙。
编辑: 上面的代码试图根据文本中的单词数选择单词云参数。但我得到的结果并不够高效。效率我指的是一个整洁且不重叠的文字云,图像尺寸合理。