ホームページ >バックエンド開発 >Python チュートリアル >Python を使用してワード クラウドを生成する方法のチュートリアル

Python を使用してワード クラウドを生成する方法のチュートリアル

巴扎黑
巴扎黑オリジナル
2017-06-23 15:33:123036ブラウズ

私は最終レビューでかなり忙しく、scrapy フレームワークの作成と使用に時間を費やしました。今日は、Python を使用してワード クラウドを生成する方法を紹介します。インターネット上には多くのワード クラウド生成ツールがあります。 Pythonで自分で書くのは充実しています。

今日生成したいのは、誰もがよく知っている「Stubborn」、「The Sea and the Sky」など、感動的な曲のワードクラウドです。Baidu ライブラリで約 20 曲を見つけました。

使用する Python ライブラリには、jieba (中国語の単語分割ライブラリ)、wordcould、matplotlib、PIL、および numpy が含まれます。

まず最初に歌詞を読む必要があります。インスピレーションを与える曲のテキストの歌詞をファイル ディレクトリに保存しました。

それでは読んでみましょう

#encoding=gbklyric= ''f=open('./励志歌曲歌词.txt','r')for i in f:
    lyric+=f.read()

#encoding=gbk を追加する目的は、後続の操作で SyntaxError: Non-UTF-8 code starting with 'xc0' というエラーが発生するのを防ぐためです。歌を歌って単語頻度の高い単語を抽出します

import jieba.analyse
result=jieba.analyse.textrank(lyric,topK=50,withWeight=True)
keywords = dict()for i in result:
    keywords[i[0]]=i[1]print(keywords)
結果を取得します:

その後、wrodcloud やその他のライブラリを使用してワード クラウドを生成できます

まず、単語の形状として使用する画像を見つけます。ワード クラウド

from PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGenerator
image= Image.open('./tim.jpg')
graph = np.array(image)
wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)
wc.generate_from_frequencies(keywords)
image_color = ImageColorGenerator(graph)
plt.imshow(wc)
plt.imshow(wc.recolor(color_func=image_color))
plt.axis("off")
plt.show()

生成された画像を保存します

wc.to_file('dream.png')

完全なコード:

#encoding=gbkimport jieba.analysefrom PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGenerator
lyric= ''f=open('./励志歌曲歌词.txt','r')for i in f:
    lyric+=f.read()


result=jieba.analyse.textrank(lyric,topK=50,withWeight=True)
keywords = dict()for i in result:
    keywords[i[0]]=i[1]print(keywords)


image= Image.open('./tim.jpg')
graph = np.array(image)
wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph)
wc.generate_from_frequencies(keywords)
image_color = ImageColorGenerator(graph)
plt.imshow(wc)
plt.imshow(wc.recolor(color_func=image_color))
plt.axis("off")
plt.show()
wc.to_file('dream.png')

以上がPython を使用してワード クラウドを生成する方法のチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。