Pythonのワードクラウドライブラリ——wordcloudの使い方

(1).概要

wordcloudは優れたワードクラウド表示用のサードパーティライブラリです。wordcloudはテキストを視覚的に魅力的なワードクラウドに変換できます。

ワードクラウドとは、単語をグラフィカルに可視化し、直感的かつ芸術的に表示する手法です。私たちの日常生活で頻繁に見かけるものです。中国語や英語のワードクラウドも同様です。

サードパーティライブラリのインストールにはpipツールを使用します。コマンドラインでインストールコマンドを実行してください(IDLEではありません)。注意:Pythonディレクトリとその配下のScriptsディレクトリを環境変数に追加する必要があります。

pip install wordcloudコマンドを実行してサードパーティライブラリをインストールします。インストールが成功すると「successfully installed」と表示されます。

(2).使用方法

wordcloudライブラリはワードクラウドをWordCloudオブジェクトとして扱います。wordcloud.WordCloud()はテキストに対応するワードクラウドを表すオブジェクトです。wordcloudライブラリはテキスト中の単語の出現頻度などのパラメータに基づいてワードクラウドを描画できます。描画時には、形状、サイズ、色、フォントなどを設定できます。

wordcloudライブラリはワードクラウドの描画に基本的な流れを持っています。まずwordcloudライブラリのWordCloudオブジェクトを使用してワードクラウドを定義します。WordCloudオブジェクトはワードクラウドの基礎となります。次にこのオブジェクトにパラメータを設定し、テキストをロードし、ファイルに出力します。これがワードクラウド描画のステップです:1.オブジェクトパラメータの設定;2.テキストのロード;3.ファイルへの出力。後の2つのステップを実行するためには、WordCloudオブジェクトを変数に割り当てる必要があります。例:cloud = wordcloud.WordCloud()。

オブジェクトパラメータの設定(パラメータはカンマで区切ります):

パラメータ 説明
width ワードクラウド画像の幅を指定します。デフォルトは400ピクセルです。例: >>>cloud=wordcloud.WordCloud(width=800)
height ワードクラウド画像の高さを指定します。デフォルトは200ピクセルです。例: >>>cloud=wordcloud.WordCloud(height=600)
min_font_size ワードクラウド中の最小フォントサイズを指定します。デフォルトは4ポイントです。例: >>>cloud=wordcloud.WordCloud(min_font_size=12)
max_font_size ワードクラウド中の最大フォントサイズを指定します。高さに基づいて自動調整されます。例: >>>cloud=wordcloud.WordCloud(max_font_size=36)
font_step ワードクラウド中のフォントサイズのステップ間隔を指定します。デフォルトは1です。 >>>cloud=wordcloud.WordCloud(font_step=3)
font_path フォントファイルのパスを指定します。デフォルトはNoneです >>>cloud=wordcloud.WordCloud(font_path="arial.ttf")
max_words ワードクラウドに表示する最大単語数を指定します。デフォルトは200です。例: >>>cloud=wordcloud.WordCloud(max_words=50)
stop_words ワードクラウドから除外する単語リストを指定します。例: >>>cloud=wordcloud.WordCloud(stop_words={"JavaScript"})
mask ワードクラウドの形状を指定します(白い形状画像を提供)。デフォルトは長方形です。使用時にはimread()関数をインポートする必要があります。例: >>>from imageio import imread >>>shape=imread("shape.png") >>>cloud=wordcloud.WordCloud(mask=shape)
background_color ワードクラウド画像の背景色を指定します。デフォルトは黒色です。例: >>>cloud=wordcloud.WordCloud(background_color="lightblue")

ワードクラウドテキストのロード方法(デフォルト前提cloud=wordcloud.WordCloud()):

メソッド 説明
cloud.generate(text) WordCloudオブジェクトcloudにテキストtextをロードします。例: >>>cloud.generate("Python and Data Science")

ワードクラウドファイルの出力方法(デフォルト前提cloud=wordcloud.WordCloud()):

メソッド 説明
cloud.to_file(filename) ワードクラウドを画像ファイルとして出力します。.pngまたは.jpg形式を使用します。例: >>>cloud.to_file("output.png")

画像の幅と高さを指定しない場合、デフォルトでは幅400ピクセル、高さ200ピクセルとなります。

テキストをワードクラウドに変換する過程で、wordcloudライブラリは主に4つのステップを実行します:1. wordcloudライブラリはスペースを区切り文字としてテキストを単語に分割します;2. wordcloudライブラリはテキスト中の各単語の出現回数を統計し、出現回数が多い単語ほど大きいフォントで表示され、少ない場合は小さなフォントになります。1〜2文字の単語はフィルタリングされます;3. wordcloudライブラリは単語の出現回数に基づいて、異なる単語に表示フォントサイズを割り当てます;4. レイアウト処理を行います。

英語ワードクラウドの例:

import wordcloud
text_content="learning python is fun and powerful"
cloud_generator = wordcloud.WordCloud(
    background_color="lightgray")
cloud_generator.generate(text_content)
cloud_generator.to_file("english_cloud.png")

生成された画像

中国語ワードクラウドの例:

import jieba
import wordcloud
chinese_text="プログラミング言語はコンピュータがユーザーの操作意図を理解し認識するための対話システムであり、特定の規則に従ってコンピュータ命令を組織し、コンピュータが自動的に様々な計算処理を行えるようにします"
cloud_creator = wordcloud.WordCloud( width=1200,
    font_path="simhei.ttf",height=800)  #フォントを設定しないと中国語が□□□として表示されます。フォントファイルは.pyファイルと同じディレクトリにあります
cloud_creator.generate(" ".join(jieba.lcut(chinese_text)))
cloud_creator.to_file("chinese_cloud.png")

生成された画像

タグ: WordCloud Python データ可視化 テキストマイニング jieba

7月18日 19:59 投稿