【python】頻出単語をwordcloudで可視化する。

前回、文章要約のために羅生門を形態素解析しました。

【python/sumy】様々な文章要約アルゴリズムで羅生門を要約してみる。

せっかく分かち書きしたので、ついでにwordcloudの可視化もやってみようと思います。

 

データの前処理~分かち書き

個々の箇所はスクリプトだけ書いておきます。

詳細はsumyで文章要約した記事に書いてあります。(冒頭のリンクです。)

 

wordcloudで可視化

 

pip install wordcloud

をしたら、WordCloud.generate()で作成することができます。

wordcloud.to_file()で指定のディレクトリに画像として保存できます。

 

さて保存された画像を見てみるとこのように悲惨なことになっています。

デフォルトでは日本語対応していないので、日本語フォントでwordcloudを作って、という指示を出さなければいけません。

日本語フォントは好きなのを使えるので、ちょろっと検索して見つけた「トガリテ」というのを使ってみようと思います。

http://fontfree.me/2994

文字にとげとげのあるユニークなフォントだそうです。

 

フォントのパスをfont_path引数の値に入力するだけです。

出力結果はこのようになります。

いい感じにとんがってますね!老婆、がロックな感じでいかしてます。

しかし「この」とか「その」とかが邪魔です。

こういうのいらないな、と思ったらとる手段は2つあります。

①ストップワードを指定する

②助詞助動詞系の品詞を最初から省いてしまう

 

まずはストップワードからやってみます。

「この」を表示しないように設定しましょう。

stopwords引数を設定するだけです。

「この」、ちゃんと消えてくれましたね。そして紫色だとよりとげとげしい感じが出ますね。

とくに「死骸」、がなかなかいい感じです。

 

では次に品詞を限定してしまうのもやってみます。

名詞形だけ残すことにしましょう。

こうやってみると羅生門はなかなかダークな世界観なのが見て取れますね。

というわけでwordcloudで遊んでみた話でした。

 

最後まで読んでいただきありがとうございました!