0

我想生成文本不同词性的词云。我面临的问题是我不想自己为每个参数调整参数。此外,由于我在许多文档上运行它,因此对每个文档都这样做非常乏味。有没有自动化的方法?

    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)

请帮忙。

编辑:上面的代码尝试根据文本中的单词数选择词云参数。但是我得到的结果不够有效。效率是指具有合理图像大小的整洁且不重叠的词云。

4

0 回答 0