今回は単語を出現頻度に応じてサイズを変えて示すワードクラウドです。ワードクラウドはビジュアル的に使用頻度がわかるためぱっと見で把握する際に便利です。
ワードクラウドを行うためのサービスやプログラムはいくつかありますが、ここではコマンドラインで使用できるworldcloud-cliを使います。

ちなみにiPhoneのa-Shellには最初からworldcloud-cliが入っていますので、面倒なインストール作業なしで使うことができます。
これまでと同様にデスクトップ上にあるsampleディレクトリに必要なファイルを用意しておきます。

なお、ワードクラウドを生成する環境(Linux/Ubuntu)が用意できない場合はDockerやMultipassなど仮想環境を使う方法もあります。

・Docker
https://www.docker.com/ja-jp/

・Multipass
https://canonical.com/multipass

○Ubuntuにwordcloud_cliをインストール

 Ubuntu 24LTSはPython バージョン3が入っているという前提で進めます。もし仮想環境を構築した場合、Python 3が動作する状態にしてください。なお、ここでは3.12.3のバージョンを使用しています。

 まず、pip3をインストールします。すでにpip3がインストールされている場合は、以後のpip3のインストール作業は不要です。インストールされているかどうかは以下のコマンドを入力します。

pip3 --version

インストールされていないと以下のように表示されます。

この場合は、まず以下のようにコマンドを入力します。


sudo apt update

アップデートが終了したら以下のコマンドを入力してpip3をインストールします。

sudo apt install python3-pip

次に以下のコマンドを入力します。バージョン部分は場合によっては変更する必要があるかもしれません。

sudo apt install python3.12-venv

次に以下のようにコマンドを入力します。これでPythonの仮想環境が作成され既存のPython環境と分離されます。

python3 -m venv myenv
source myenv/bin/activate

以下のコマンドを入力してワードクラウドをインストールします。

pip3 install wordcloud

以下のようにコマンドを入力してwordcloud-cliが使えるか確認します。正常にインストールされていればヘルプ画面が表示されます。

wordcloud_cli --help

ここまでは正常にインストールできた場合の説明でした。問題は正常にインストールできなかった場合にどうしたらよいかということです。このような場合、chatGPTなどのAIに環境(Ubuntu 24LTS)など必要な情報を与えた後に、発生したエラーをそのままコピーして、AI側に貼り付けます。あとはAIが対処方法を教えてくれますので、その指示に従ってインストールを進めてみてください。

○macOSにwordcloud_cliをインストール

 次にmacOSにインストールします。インストールはターミナル(Terminal.app)を使います。ここで使用するPythonのバージョンは以下のようになっています。

python3 --version

次にpip3がインストールされているか確認します。

pip3 --version

ワードクラウドをインストールします。

pip3 install wordcloud

無事にインストールできたか確認します。以下のようにコマンドを入力します。若干表示までに時間がかかることがあります。

wordcloud_cli --help

また、以下のコマンドで最新版にアップデートできます。

pip3 install --upgrade wordcloud

もし、うまくインストールできない場合や現在のmacOSの環境を壊したくない場合は、DockerやMultipass上にUbuntuの仮想環境を構築して、そこにインストールしてください。

いずれの環境でもインストールができなかった場合、使用しているスマートフォンがiPhoneであればa-Shellをインストールすれば自動的にwordcloudが入ります。

・a-Shell
https://apps.apple.com/jp/app/a-shell/id1473805438

○ワードクラウドを生成

 それではインストールしたwordcloud_cliを使ってワードクラウドを生成してみます。
ワードクラウドを生成するには、あらかじめ対象となるテキストファイルを作成しておきます。なお、何も設定しない場合、日本語は正しく処理されません。ただし、AIなどを使って処理させ日本語フォントを指定することで日本語でもワードクラウドを使うことができます。
 まず、英文のみで校正された文章をワードクラウド画像に変換してみましょう。まず、カレントディレクトリにdata.txtという名前で英文が入ったテキストファイルを用意します。

data.txt

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

 次に以下のように入力します。これでwordcloud.pngという名前でワードクラウドの画像が生成されます。

wordcloud_cli --text data.txt --imagefile wordcloud.png

生成された画像は使用するフォントなど環境によって異なります。以下はmacOS,Ubuntu,iPhoneでの生成結果です。

英文のサンプルテキストでなく実際のソースコードをワードクラウドにしてみましょう。自分のプログラムのソースコードをワードクラウドにすると面白いかもしれません。ここではGNUのwcコマンドのソースをワードクラウドにしてみます。
まず、ソースは以下のページのものを利用します。

Appendix A Source of the wc command
https://www.gnu.org/software/cflow/manual/html_node/Source-of-wc-command.html

これをdata.txtファイルに入れてwordcloud_cliコマンドで処理します。

○日本語ワードクラウドを生成

 それでは次に日本語のワードクラウドを生成してみましょう。日本語を処理するためには文章の処理と日本語フォントの指定が必要です。日本語の場合、単語などに分解(分かち書き)する必要があります。ここで分かち書きをするプログラムをインストール云々すると面倒なので、ここでAIの力を借りることにします。
 今回処理する日本語文章は、この連載の最初の回の以下の文章にします。

OSを問わずコマンドラインでできることはたくさんあります。ファイルの整理からWeb利用、業務に役立つちょっとした自動化といたるところに呪文のようなコマンドが用意されているのです。これを魔法使いのように使いこなしたいなあという人も多いでしょう。組み合わせるとできることが山ほどありますが、基本となるコマンドから少しずつ触っていくことがよいでしょう。とっつきにくいため触ったことのない人、部分的に活用するけどそれほど頻繁には触らない人、興味はあるけどきっかけがないなあと思っている人たちがなんとなくコマンドラインを活用できるようになる連載。
そんな連載になれば幸いです。

 この文章をAI(今回はchatGPT)で処理して分割したものが以下の文章です。

OS を 問わず コマンドライン で できる こと は たくさん あります 。 ファイル の 整理 から Web 利用 、 業務 に 役立つ ちょっとした 自動化 と いたる ところ に 呪文 の ような コマンド が 用意 されている の です 。 これ を 魔法使い の ように 使いこなしたい なあ という 人 も 多い でしょう 。 組み合わせる と できる こと が 山ほど あります が 、 基本 と なる コマンド から 少しずつ 触っていく こと が よい でしょう 。 とっつき にくい ため 触った こと の ない 人 、 部分的 に 活用 する けど それほど 頻繁 に は 触らない 人 、 興味 は ある けど きっかけ が ない なあ と 思っている 人たち が なんとなく コマンドライン を 活用 できる よう に なる 連載 。 そんな 連載 に なれば 幸い です 。

 次に日本語フォントファイルを用意します。OSに入っている日本語フォントの場合、種類によっては正しく処理されないことがあります。そこで今回はWordCloudで用意されているSourceHanSerifK-Light.otfファイルをダウンロードして使用します。このファイルは以下のURLからダウンロードできます。


amueller/word_cloud(github)

https://github.com/amueller/word_cloud/blob/main/examples/fonts/SourceHanSerif/SourceHanSerifK-Light.otf

ダウンロードしたらdata.txtと同じディレクトリに入れておきます。

次に以下のようにコマンドを入力します。すると日本語のワードクラウド画像が生成されます。

wordcloud_cli --text data.txt --imagefile wordcloud.png --fontfile ./SourceHanSerifK-Light.otf

生成された画像を見ると・・・何かイマイチです。「の」とか「に」とかなどの助詞が大きく表示されています。これは出現頻度で生成されるため、このような結果になってしまいます。そこで文章の助詞などを除いた文章をAIに処理してもらい、再度生成すると以下のようになります。

フォントファイルの場所を指定すれば生成される画像の雰囲気を変えることができます。以下の例はmacOSでのシステムにあるフォントを指定した例です。

wordcloud_cli --text data.txt --imagefile wordcloud.png --fontfile '/System/Library/Fonts/ヒラギノ角ゴシック W8.ttc'

.
編集部おすすめ