見出し画像

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の列はそれぞれ「キーワード」、「出現回数」に名称変更してください。

「test.xlsx」を読み込んだ初期の状態
不要な列を非表示にし、必要な列の名称を変更した状態

 新しいワークシートを用意したら、「キーワード」をマークラベルに、「出現回数」を「サイズ」に入れます。マークを「自動」から「テキスト」に変更するとワードクラウドができあがります。最後に、出現頻度に応じて色合いを調整したら、ワードクラウドの完成です。

ワードクラウド(Tableau上で作成したもの)

 ワードクラウドはTableauを使わずとも、PythonとJanomeのみで作ることができてしまいますが、Tableau上で表・グラフなどと一緒に扱いたいニーズがあるのでは…と考え、その手法をご紹介いたしました。
 ご紹介した内容が、みなさまの少しでもお役に立てば幸いです。

この記事が気に入ったらサポートをしてみませんか?