アゴ乗せ日記

適当なポジティブ日記

スポンサーリンク

【プログラミング】Pythonでワードクラウド【初心者OK】

作る物

こーゆーやつ。

f:id:agonosetaro:20200321224302p:plain

いつ使うねん?

データ分析の仕事をしていた頃に使っていた。

このブログで使う場合では、うーん。

例えば上の画像はこのサイトにおける検索ワードの多いものを視覚化している。
Googleサーチコンソールのエクスポート機能を使えばデータが取れる。)

「哺乳瓶」が大きく表示されているのはこのワードの出現頻度が高いから。(検索ワードになりやすいってこと)

あとは将来的に自分の記事で登場する単語を視覚化してみたり、
もっとカジュアルに『好きなサッカー選手』みたいなのを表示するときに使うことができるだろう。

では作っていく

ちなみにプログラミングしたことない人でも真似すれば作れると思う(たぶん

難しいことは考えずにコピペして貼り付けるだけ。


Google Colaboratory(略称: Colab)ってWebサイトで作っていく。

無料でPythonっていう言語の開発環境が使える。
私は機会学習で主に使っている。

Googleにログインしていればこんな感じのページに飛ぶはず。

f:id:agonosetaro:20200321225845p:plain

ここにコードを書いて実行していくだけだ。

準備段階

まずはライブラリのインポート。 下のコードをコピペして実行ボタン(▶︎)押す。

pip install wordcloud

f:id:agonosetaro:20200321231722p:plain

画像みたいな感じになってればOK。

日本語対応

デフォルトだと日本語が使えない(残念。

左上の『+コード』っていうボタンをクリックすると次のコードを入力できるようになるので押す。
これも下のコードをコピペして実行ボタン(▶︎)押す。

!apt-get -y install fonts-ipafont-gothic

f:id:agonosetaro:20200321231153p:plain

日本語のフォントがこの環境にインストールされて使えるようになる。

念のためフォントがインストールできたことを確認したい人は、
『+コード』で以下のコードを追加して実行。

ll /usr/share/fonts/truetype/

f:id:agonosetaro:20200321231416p:plain

ゴシック体と明朝体フォントが追加される。

いざプログラミング!!

やっとPythonコード。これも同様にコード追加して実行。

# coding: utf-8
from wordcloud import WordCloud
from pathlib import Path
import os

# 表示させるワード(スペース 区切り)
keywords = '哺乳瓶 哺乳瓶 哺乳瓶 赤ちゃん チャイルドシート ガーゼ バギー 消毒ケース おしゃぶり おむつ'

# ワードクラウド作成
word_cloud = WordCloud(  
    colormap='Set2',
    font_path='/usr/share/fonts/truetype/fonts-japanese-gothic.ttf',
    background_color="white",
    max_words=10,
    width=400,  
    height=300).generate(keywords)

# ファイル出力
word_cloud.to_file(os.path.join(Path().resolve(), "ago_sample.png"))

f:id:agonosetaro:20200321232804p:plain

これを実行すると左側にago_sample.pngってファイルが出力される。 ファイルをダブルクリックすると確認できる。

f:id:agonosetaro:20200321233030p:plain

このPNGファイルは右クリックでダウンロードできる。

応用編

表示する単語を変更

以下の keywords の値を好きな単語に置き換える。

keywords = 'アゴ 乗せ 太郎 テキトー OK リスペクト'

単語が多くなったらmax_words=10,max_words=20,とか増やしていったほうがいい。

出力ファイルサイズの変更

widthheightを変える。

width=500,  
height=500).generate(keywords)

文字の色変えたい

こちらのサイトが参考になる。

先ほどのコードはSet2にしていたが、grayとかにしてみる。

結果

上記の変更を適用して実行してみる。

f:id:agonosetaro:20200321234549p:plain

アゴの隙間にリスペクトテキトーが詰まっている。良い感じだ。

おわり

次回は「はてなAPI」を使って自サイトの分析をやって....いく気があったらやる。

以上!!

スポンサーリンク