Tableau+Python+Janomeでワードクラウドを作成する
文章中に高頻度で出現するキーワードを可視化する方法として「ワードクラウド」というものがあります。ワードクラウド自体はTableauでも作ることができますが、可視化前のステップにあたる「形態素解析」はTableauではできないため、別のツールを活用する必要があります。本記事では、PythonとJanomeを活用して形態素解析を行い、その解析結果を元にTableauでワードクラウドを作る手法をご紹介します。
なお、本記事では「形態素解析」の詳細説明は割愛します。下記のサイトで詳しく説明されていますので、ぜひご覧ください。
WordCloudの弱点と精度を高めるための形態素解析について
今回の作成条件
OS :Windows11 Home
Python :v3.7.3
使用するPythonライブラリ:Janome、Pandas
形態素解析を行う対象文章:青空文庫「走れメロス」の冒頭部分
手順1.Pythonをインストールする
はじめに、Pythonを下記のホームページからダウンロードしてインストールしてください。今回はPython v3.7.3を使用しておりますが、Pythonは随時バージョンアップされているほか、WindowsとMac、その他のOSではそれぞれ異なるため、環境や用途に応じて任意のバージョンをご利用ください。
手順2.Pythonライブラリを入手する
Pythonを実行する方法は様々ありますが、今回はWindows環境で使える「コマンド プロンプト」を用いた方法で説明します。
コマンド プロンプトを起動後、今回の作業に必要なPythonライブラリをインストールします。インストールするのは次の2種類です。
・Janome:Pythonの形態素解析エンジン
・Pandas:Pythonのデータ解析ライブラリ
下記の画像と同じコマンドを実行することで、必要なPythonライブラリをインストールできます。これによりJanome、PandasとNumpy(Pythonで数値計算を高速に行うためのモジュール)がインストールされます。
手順3.形態素解析を行う文章を用意する
次に「形態素解析」用の文章を用意します。今回は、著作権フリーとなっている青空文庫「走れメロス」より、下記の冒頭部分の文章を引用します。
Pythonがインストールされているフォルダの配下に「novels」というフォルダを用意し、その中に上記文章が書かれた「run-melos-utf8.txt」(文字コードはUTF-8)というテキストファイルを作成しておきましょう。
手順4.Pythonファイルを作成・実行する
続いて「形態素解析」を行うために必要なPythonファイルを作成・実行します。今回は「test.py」という名称で作成し、Pythonがインストールされているフォルダに配置します。大きな流れは次のとおりです。
・テキストファイルを読み込む
・データをPandasのDataFrameに格納後、Janomeで形態素解析を行う
・形態素解析で抽出された名詞群を出現頻度順にしてExcelに出力
「test.py」のプログラムは以下のとおりです。
「コマンド プロンプト」でcdコマンドを用いて、Pythonが格納されているフォルダパスへ移動後に「py test.py」と入力して実行すると、次のように出現頻度の高い順にキーワードが並んだExcelファイル「test.xlsx」が出力されます。
※Pythonファイルは、次の3件のページを参考に作成しました。
(1)形態素解析とキーワード可視化:Pythonによるテキストデータ分析の基礎
※参考にした部分:テキストファイルの読み込み~形態素解析まで
(2)【pandas】カンマ区切りの複数要素を結合して集計する方法
※参考にした部分:値を配列にして、集計方法にする方法
(3)【Python】CSVデータの形態素解析からCSV出力・グラフ表示まで
※参考にした部分:CSVファイルに書き込む方法
手順5.Tableauでワードクラウドを作成する
最後に、手順4で作成したExcelファイル「test.xlsx」をTableauに読み込んでワードクラウドを作成します。
Tableauを起動後、データ接続画面にて「Microsoft Excel」を選択し、「test.xlsx」を読み込みます。下記の画面が表示されたら、画面下部の「フィールド」欄にて、F1は不要なので非表示に、0と1の列はそれぞれ「キーワード」、「出現回数」に名称変更してください。
新しいワークシートを用意したら、「キーワード」をマークラベルに、「出現回数」を「サイズ」に入れます。マークを「自動」から「テキスト」に変更するとワードクラウドができあがります。最後に、出現頻度に応じて色合いを調整したら、ワードクラウドの完成です。
ワードクラウドはTableauを使わずとも、PythonとJanomeのみで作ることができてしまいますが、Tableau上で表・グラフなどと一緒に扱いたいニーズがあるのでは…と考え、その手法をご紹介いたしました。
ご紹介した内容が、みなさまの少しでもお役に立てば幸いです。
この記事が気に入ったらサポートをしてみませんか?