ホームページ >バックエンド開発 >Python チュートリアル >Python を使用してワード クラウドを生成する方法のチュートリアル
私は最終レビューでかなり忙しく、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 サイトの他の関連記事を参照してください。