PythonのWord Cloud の使い方/概要
ワードクラウドは、単語の出現回数に応じて文字のサイズを変えることで可視化する手法。Pythonを使って簡単にワードクラウドを作成できます。
具体的には、こういうものです。
パッと見て、大きい単語が重要とわかるので、直観で情報を構成する要素がざっくり理解できる点がメリット。SNSとかでつかみに使ったりしてる人もいますね。
Twitterなんかで、ザーッとスクロールして流し読みしてても、秒でざっくり内容がわかるので、目を留めてもらいやすいのだと思います。
人間、飛ばし読みとか画像検索してるときは「右脳で見てる」んですね。右脳側の図形認識能力がフル稼働しています。で、右脳に「ひっかかる漢字」があったら、スクロールを止めて左脳に切り替えて内容を頭でイメージ作りながら読む…っていうイメージでしょう。
左脳の処理速度が毎秒15~70ビットくらい(早口で音読して読むスピード)、右脳の処理速度は、私が試したところその10倍くらいはありそうです。日本語の漢字というのは文章でありながら図形でもあるというレアな言語。右脳で見てるときにも、ある程度頭の中に入ってくるんですね。
大量の文章から目的の情報を見つけるのはウンザリだけど、画像一覧から探したら一瞬で見つかったという人は少なくないと思います。
ワードクラウドは、画像でありながら右脳にざっくりした意味まで伝えることができる特殊情報と言えるでしょう。英語より日本語の方がむいてるんじゃないかな、たぶん…。
まあ、少なくともパッと見て、「おや、なんだろう?なぜか気になる…」というくらいのひっかかりにはなるでしょう。
というわけで、Twitterからブログへの誘導とかしたいひとは試してみるといいかも。
ワードクラウドはPythonで簡単に作成できます。
ネットには「ワードクラウド作るサービス」がたくさんありますけど、ワードクラウド画像をバッチ処理で大量に作りたいかも…というあなたは参考にしてみてください。
Pythonを使ってWord Cloud(ワードクラウド)を作成する方法
PythonでWordCloud(ワードクラウド)を作成するには、モジュールを使うのが一番簡単。
PythonのWordCloudMakerクラスで、ワードクラウドを作成できます。
WordCloudMakerクラスには、read_fileメソッドとread_textメソッドがあり、これらのメソッドを使って、テキストファイルやテキストからワードクラウドを作成することができます。
また、WordCloudMakerクラスには、font_path、text、background_color、image_sizeなどのプロパティがあり、これらのプロパティを使って、ワードクラウドのフォント、テキスト、背景色、サイズを変更することができます。
WordCloudMakerクラスの使い方のサンプルコード。例えば、テキストファイルからワードクラウドを作成するには、次のコードを使用します。text.txtには単語を改行で区切ったデータが入っている前提です。
import wordcloud # テキストを読み込む text = open("text.txt", "r").read() # ワードクラウドを作成 wc = wordcloud.WordCloud() wc.generate(text) # ワードクラウドを保存 wc.to_file("wordcloud.png")
このコードを実行すると、text.txtファイルの内容のワードクラウドがwordcloud.pngファイルに保存されます。
WordCloudMakerクラスは、ワードクラウドを作成するための強力なツールです。このクラスを使って、簡単に美しいワードクラウドを作成することができます。
Word Cloudの詳細設定
日本語でのワードクラウド作成には、まず日本語フォントが必要。
Windows環境であれば、標準の日本語フォントを指定するだけで良いです。標準の日本語フォントは、MSゴシック、MS明朝、MS Pゴシック、MS PM明朝などです。
Linux環境では、IPAフォントなどのフリー日本語フォントを使えばできます。IPAフォントは、無料でダウンロードして使用できる日本語フォントです。IPAフォントのインストール方法は、Linuxのディストリビューションによって異なります。
日本語フォントに対応するためには、TTファイルまたはTTCファイルを指定する必要があります。TTファイルまたはTTCファイルは、TrueTypeフォントファイルです。TrueTypeフォントは、WindowsやMac OSで使用されているフォントです。
日本語フォントを使用する際は、フォントファイルの種類に注意してください。フォントファイルの種類が間違っていると、日本語が正しく表示されないことがあります。
WordCloudMakerクラスには、フォントのフルパス、ワードクラウドしたい文書、画像の背景色、画像のサイズなどのプロパティがあります。
Word Cloudのインストール方法
インストールはpipコマンド一発。
PythonのWord Cloud のインストールするにはターミナルを開いて、次のコマンドを実行します。
pip install wordcloud
このコマンドを実行すると、Word Cloud がインストールされます。
これだけ。pipコマンドがインストールされていない環境では、まずはpipをインストールする必要があります。
Pythonでワードクラウドを作成してみる MeCabとwordcloudで実装
テキストファイルから単語を自動的に抽出して、ワードクラウドを作ってみましょう。
以下は、MeCabとPythonのWordCloudを使ってワードクラウドを作成するサンプルコードです。
MeCabは、文章を単語に分割するためのツールです。
import MeCab from wordcloud import WordCloud # テキストを読み込む text = open("text.txt", "r").read() # MeCabで形態素解析を行う tagger = MeCab.Tagger("-Ochasen") node = tagger.parse(text) # WordCloudを作成 wc = WordCloud() wc.generate(node) # WordCloudを保存 wc.to_file("wordcloud.png")
このコードを実行すると、text.txtファイルの内容の形態素解析結果をWordCloudにしてwordcloud.pngファイルに保存します。
コードの説明は次のとおりです。
- import MeCab:MeCabモジュールをインポートする。
- from wordcloud import WordCloud:WordCloudモジュールをインポートする。
- text = open(“text.txt”, “r”).read():テキストファイルを読み込む。
- tagger = MeCab.Tagger(“-Ochasen”):MeCabの形態素解析器を作成。
- node = tagger.parse(text):テキストを形態素解析する。
- wc = WordCloud():WordCloudオブジェクトを作成する。
- wc.generate(node):形態素解析結果からWordCloudを生成する。
- wc.to_file(“wordcloud.png”):WordCloudをwordcloud.pngファイルに保存する。