テキストのさまざまな品詞のワード クラウドを生成したいと考えています。私が直面している問題は、それぞれのパラメーターを自分で調整したくないということです。さらに、これを多数のドキュメントで実行しているため、それぞれについて実行するのは非常に面倒です。自動化されたアプローチはありますか?
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)
助けてください。
編集: 上記のコードは、テキスト内の単語数に応じてワード クラウド パラメーターを選択しようとします。しかし、私が得た結果は十分に効率的ではありません。効率とは、合理的な画像サイズの整然とした重複しないワード クラウドを意味します。