はじめに
本記事では、Python初心者がWordCloudを利用してツイッターで伸びていた投稿を1つのファイルにまとめたものを解析し、可視化するまでをご紹介します。

動作検証環境
今回の動作検証環境は以下の通りです。
作業エディタ:VSCode
OS:MacOS 11.5
Pythonバージョン:Python3.8.5
※Pythonのバージョンが3.9以降だとなぜかうまく動かなかったです…
Pythonの開発環境が整っていない方はこちら

WordCloudの利用方法
今回は日本語のツイートを形態素解析していきますので、すこ〜しだけ手順が増えます。
では、下記の4つの手順で説明していきます。
- Homebrewをインストールする
- HomebrewでMeCabと単語辞書をインストールする
- Pythonにライブラリをインストールする
- MeCabを利用してソースコードを書いていく
形態素解析とは、
自然言語で書かれた文を言語上の最小単位である形態素に分割し、それぞれの品詞や変化などを割り出すこと。 ITの分野ではコンピュータによる自然言語処理の一つとして、かな漢字変換や全文検索、機械翻訳などで用いられる。
今日も僕はPythonで何かを作ります
↓
今日 / も / 僕 / は / Python / で / 何か / を / 作り / ます /
Homebrewをインストールする
まずは、今回利用したいライブラリをインストールするために「Homebrew」というツールをインストールしていきます。
Homebrewは、macOSオペレーティングシステム上のパッケージ管理システムです。
Windowsなら簡単にインストールできるけど、MacだとHomebrewのようなパッケージ管理システムがないとダメみたいです。
インストール方法については、「Homebrewのインストール」が参考になりました。
※著者は、Xcodeのインストールで躓いたのでこちらの「MacOSでCommand line tools for XcodeとHomebrewのインストール」も参考にしました。
HomebrewでMeCabと単語辞書をインストールする
次に、今回利用したいMeCabと単語辞書をターミナルからインストールしていきます。
下記の2つのコマンドを実行してください。
※いつものとは違うbrewコマンドを利用するのでご注意ください。
1. MeCabのインストール
brew install mecab
2. 単語辞書のインストール
brew install mecab-ipadic
Pythonにライブラリをインストールする
最後の準備作業です。
Python環境でMeCabを利用できるようにライブラリをターミナルからいつものpipコマンドでインストールしていきます。
MeCabをインストール
pip install mecab-python3
MeCabを利用してソースコードを書いていく
では、開発環境が整ったので実際にコードを書いていきましょう!
ライブラリのインポート
今回必要なライブラリは以下の3つになります。
import MeCab
from matplotlib import pyplot as plt
from wordcloud import WordCloud
MeCab: オープンソースの形態素解析エンジン、日本語の解析によく利用される。
pyplot: グラフ描画のためのライブラリ。
WordCloud: ワードクラウドのためのライブラリ。
WordCloudに利用する文章を読み込み
今回は、WordCloudで利用する文章をテキストファイルから読み込んで描写するロジックとしましたので、テキストファイルの在処を指定していきます。
# 読み込みファイル
README = './twitter_text_sheet.txt'
文章をリスト化
次に、文章を読み込み、形要素に分けていきます。
ここで、不要な文字列は除外したいので名詞だけを取り出したリストを作成していきます。
# テキストファイルを読み込み
with open(README, mode='rt', encoding='utf-8') as fi:
source_text = fi.read()
# 名詞を取り出す
word_list = []
while node:
word_type = node.feature.split(',')[0]
if word_type == '名詞':
word_list.append(node.surface)
node = node.next
最後にサンプルコードも添えておきます。
サンプルコード
import MeCab
from matplotlib import pyplot as plt
from wordcloud import WordCloud
# 読み込みファイル
README = './twitter_text_sheet.txt'
# 環境に合わせてフォントのパスを指定
FPATH = '/Applications/work/Python/WordCloud/IPAMTTC00303/ipam.ttc'
with open(README, mode='rt', encoding='utf-8') as fi:
source_text = fi.read()
# MeCabの準備
tagger = MeCab.Tagger()
tagger.parse('')
node = tagger.parseToNode(source_text)
# 名詞を取り出す
word_list = []
while node:
word_type = node.feature.split(',')[0]
if word_type == '名詞':
word_list.append(node.surface)
node = node.next
# リストを文字列に変換
word_chain = ' '.join(word_list)
# ワードクラウド作成
W = WordCloud(
width=640,
height=480,
background_color='white',
colormap='Dark2',
font_path=FPATH
).generate(word_chain)
plt.imshow(W)
plt.axis('off')
plt.show()
動作確認

色を変えるとこんな感じにもなります!(colormap=’bone’)

実行結果からは、「自分」や「私」というワードが一番多かったようなので、やはり自分についての体験談などを発信されているものが共感を生み伸びているツイートが多いのかなと感じました。細かく見ていくと面白いワードもありますね。笑
参考サイト
Homebrewのインストール
MacOSでCommand line tools for XcodeとHomebrewのインストール
PythonでWord Cloudを作ってみた(和文編)
【これ1本でOK】MeCabをインストールしてPythonで形態素解析する方法【Mac】

ツイートのデータ元
【データ無料配布】
インフルエンサーの100万ツイートを3ヶ月かけて厳選し1000いいね以上のツイートを分析してまとめました。
・楽して伸ばしたい
・Twitterの時間抑えたい
・ツイートネタ困りたくないという人におすすめです。
【RT・いいね】でDMにて配布します。
※フォロワーさん限定 pic.twitter.com/v0ACabSm0o— さみしょう@100万ツイ分析データ無料配布中 (@samishow2021) August 13, 2021
まとめ
本記事では、Python初心者がテキストファイルの文章からWordCloudを利用してどんなワードがよく利用されているのかを解析し、可視化するまでをご紹介しました。
だいぶ前に流行ったWordCloudですが、実際に実行結果を見てみるとやっぱり面白かったですね。また機会があれば利用していきたいと思います。