Power BIでワードクラウドを表現する方法
Power BIを使ってワードクラウドを表現する方法の共有です。
これまでワードクラウドというとPythonを使って表現していましたが、Power BIで表現できるならわざわざPythonを立ち上げる必要がなくなるので便利ですね。
Contents
ワードクラウドとは
ある文章の中で使われている単語の頻出頻度を表現する可視化の技術です。
文章全体の中でよく使われる重要な単語を分析するために使われます。
高い頻度で使われている単語はワードクラウド上で大きく表現されるので、文章全体の傾向を分析することが可能です。
文章にすると分かりずらいのですが、イメージは下図です。
赤は動詞、青は名詞、緑は形容詞のように文章を単語毎で分解した上で、品詞別にカテゴライズして頻出頻度の高低を文字の大きさとして表現しています。
手順
ワードクラウドの表示方法です。
1.Word Cloudのビジュアルを追加
まずは下記手順でWord CloudのビジュアルをPower BI Desktopに追加するところから始めます。
1.「視覚化」の中にある「…」のその他のビジュアルをクリック
2.Power BI ビジュアルという画面がポップアップで出てくるので、検索ボックスから「Word Cloud」と検索
3.恐らく検索結果の一番上にWord Cloudが出てくると思うので「追加」をクリック
無事追加できると下図のように視覚化のアイコンの中にWord Cloudが追加されます。
これでWord CloudはYouのものです!
2.データの準備
Power BI DesktopのWord Cloudへ読み込むデータを準備します。
最も手間と時間と愛が必要なプロセスですね。
手元に何らかの文章データがあればそれを使えばいいですが、ない場合はWebスクレイピングでWebから適当に何か引っ張ってればいいかなと思います。
今回は「Octoparse」でWebスクレイピングしたスウェーデンの大手アパレルメーカーH&Mの2019年のニュースをExcelデータとして読み込みたいと思います。
※なおWebスクレイピングに興味がある人は上記リンクを辿ってみて下さい。
※面倒い人はExcelデータのダウンロードリンクを貼っておくのでこちらからダウンロードして下さいな。
データとしてはこんな感じです。
B列にニュースリリースのタイトルがあり、A列が本文です。ニュースリリース内の段落毎で行が追加されています。
これをPower BI Desktopにインポートします。
インポート結果はこんな感じです。
3.ワードクラウドを表現
やって参りました。Power BIの中で一番楽しいビジュアライゼーションのパートです。
具体的には下図のように進めていきます。
1.追加したワードクラウドのアイコンをクリックします
2.レポート上でワードクラウドの大きさを調整します
3.最後にワードクラウドに読み込みたい列を選択します
さぁ、出でよ、神龍、ワードクラウド!
ん~思っていたのと違います!!笑
というのも、よく見てみると、文の中の英単語に関してはワードクラウドが識別できているようです。例えば「H&M」、「CONSCIOUS」、「Change」といった単語はカウントされています。
が、日本語に関しては「名詞」、「形容詞」、「動詞」を単語として識別して分解する能力はまだないようですね。
これを行毎に分解してあげればできるんでしょうが、そこまでするなら他のツールでもいいような気がします。
ちなみに一応虫眼鏡アイコンからはワードクラウドの設定を変えることもできます。
例えば「全般」タブ配下の「Minimum number of suggestion…」はワードクラウド上に表現する単語の頻出頻度をフィルタリングできます。
これを「2」に設定してみて、最低でも2回頻出した単語にフィルタリングをかけてみますと、下のような結果になります。
他にもフォントの設定なんかも行えるようです。
結論
Power BIを使って文章をワードクラウドとして表現することは可能。
英単語の識別能力はそこそこありそうだが、日本語を単語として分解する識別能力は現状備わっていない。
日本語の文章をワードクラウドで表現したいなら、別のソフトやアプリ(例えばPython)を使って画像データとして読み込む方がいい。
別途他の方法についても調べて共有します。
では、以上。
動画版
You Tubeに動画版もアップしています。
後から作ったので、使っているデータは異なりますが、やり方等参考にしてみて下さい。
●動画
●利用データ
2 Comments
こんにちは。仕事でpower biを使い始めたばかりの初心者です。
ワードクラウドで、テキストマイニングを実行したのですが、その件数と単語(英語です)の横棒グラフを作成したいのですが、やり方が分からず困っています。
もしやり方をご存じでしたら、アドバイス頂けるととても助かります。
こんにちは!すでに単語レベルに分解されたデータをお持ちということでしょうか。
それでしたら、単語の件数を縦軸に、単語を横軸にということでしたら、積み上げ縦棒グラフのビジュアルに単語のカラムをインプットとして使えば(X、Y両方)実現できるなと思います。