模索する俺たち

好きなことを何でも書くブログです。

「模索する俺たち」のURLが変わりました。
3秒後に自動的にリダイレクトします。

自分のブログをWordCloudでざっくり分析してみた件

このブログってなんなの?

今、この「模索する俺たち」というブログをリニューアルしようとしています。

なぜリニューアルするのかというと、はじめにちょっと適当にブログを作り始めたのでデザイン(htmlというかcssというか)的にちょっと無理しているところがあったりするので、その辺をすっきりさせたいとかが理由です。

それによりちょっと見た目が変わるようなところがあるのですけど、ついでに各記事のカテゴリーの分け方も変えたいと思っています。

というのも、カテゴリーも適当に作ったので「雑記」が300件あって、「kindle」が5件とかアンバランスになったりしているのを是正したいです。

それではどういうカテゴリーにしたらいいのかなと思ったのですけど、考えてみたらこのブログって何書いてんのかわかんないなと思いました。

日々、好きなことを適当に書いているので、私もよくわかっていません。

 

で、どうにか分析しようと思ったのですけど、いろいろ調べていたら「WordCloud」というので図示したらおもしろそうだなと思ったのです。

できあがり

で、結論をいうとこれです。

今までの各記事のタイトルでWordCloudを作ったらこうなりました。

 

 

 

f:id:prinkuma:20200227000450j:plain

 

 

おお、かっこいいし、おもしろい……。

出てくる単語の数で文字の大きさが変わるのですけど(色はランダム)、割とくっきりしましたね。

大きいのを見ると、

  1. メモ
    →メモ(雑記)としていろいろ書いたから多いですね。
  2. スマホ
    →特に初期のころはスマホとかガラケーの話を書きまくっていたので多いですね。
  3. 引っ越し
    →確かに、このブログ始めてからなぜか3回も引っ越したので多くなりましたね。
  4. ゲーム
    →好きだからそうなりますね。
  5. Switch
    →好きだからそうなりますね。

っていうか、なんか丸見えで恥ずかしい気もしないでもありません。

 

というわけで、このWordCloudの図を新カテゴリーの参考に……しようかと思いましたが、すでに「引っ越し」とかもそれっぽいカテゴリーあるし……、やっぱり別途自分で考えることにします。

WordCloudさん、ありがとうございました。

WordCloudの使い方、作り方についてのメモ

というわけで、ここからは話題を変えて、今回作ったWordCloudの作り方をメモしておきたいと思います。

ちょっと大変でしたけどできたら見た目のかっこよさもあって達成感がありました。

 

以下、ほぼ個人的なメモとしてわかったふりして書いていますが、詳しいことはよくわかっていませんのでよろしくお願いします。

用意したもの

1.Windows10で動くUbuntu(WSL環境)

先日、インストールしたやつを使いました。↓

www.mo3ore.com

2.WordCloudにするデータ

ブログの記事のタイトルを入れたテキストファイル(改行区切り)を用意しました。(普通の文章だったら別に改行入れずに続けて書いてもよさそう)

Linux(Ubuntu)で使うので、「サクラエディタ」で文字コードUTF-8、改行コードLFにして保存しました。

f:id:prinkuma:20200227002520j:plain

3.日本語フォント

WordCloudに使う日本語フォントが必要です。

何やら拡張子が.otfのフォントファイルが必要みたいです。(たぶん)

今回は「やさしさアンチック」を使わせていただきました。

www.fontna.com

パソコンに最初から入っているフォントを使うと、ライセンス的に怒られる場合があるので権利関係が大丈夫なフォントを見つけて使った方がいいですね。

WordCloudを使えるようにする

基本的な流れはこちらを参考にさせていただきました。

qiita.com

ただし、私は今回WSL環境というのでやろうとしていてちょっと環境が違うので、以下の通りちょこちょこ改変しながらいきました。

 

まず、適当なフォルダに、上記のテキストデータとフォントファイルを入れて、Shift押しながらフォルダ内の空いているところを右クックしてLinuxシェルを開きます。

 

python3

と打ってみて、Pythonのバージョン3が起動することを確認したらPythonを

exit()

で終了。

 

続いて、以下でpip、wordcloud、janomeをインストールする。

sudo apt-get install python3-pip
python3 -m pip install wordcloud
python3 -m pip install janome

※Python3では上記の形のコマンドが必要でした。こちらを参考にしました。

qiita.com

うまくインストールされていないと、後で

ModuleNotFoundError: No module named 'wordcloud'

みたいなエラーが出ます。(出ました)

作る

ここまでで環境の準備は完了です。

後は実際に作ります。

辞書のファイルを作っておく

janomeというのが日本語の文章をうまいこと単語などに分割してくれるのですけど、たまにうまくいかないときがあります。

私は「スマホ」が「スマ」と「ホ」に分かれてしまったので、最初はでっかく「スマ」と書かれた画像が生成されまして何事かと思いました。

というわけで、微妙な単語については、こうですよと教えてあげる必要があります。

※詳しくはこちら。

doop-web.com

で、私は最終的にはこういう感じで辞書のファイルを作っていくつか登録しました。(さっきと同じフォルダにuserdict.csvという名前でUTF-8、LFで作成)

f:id:prinkuma:20200227004653j:plain

実際には、まずWordCloudの画像を作ってみて、おかしいのがあればこのファイルに書き足してもう一度作ってみる……みたいな流れになります。

WordCloudを作るスクリプトファイルを作る

後はPythonのスクリプトを作っておきます。(ベースは最初のサイトよりいただきました。)

ファイル名は適当にwc.pyとしてUTF-8のLFで同じフォルダに保存しました。

なお、テキストファイル(title.txt)からデータを読み込むためこちらを参考にしました。

yukun.info

 

▼wc.py ここから▼

## 分かち書き
## pip install janome
from janome.tokenizer import Tokenizer
tokenizer = Tokenizer("userdict.csv", udic_type="simpledic", udic_enc="utf8")

text = ''

f = open('title.txt')
line = f.read()
f.close()

stop_words = [ u'ため', u'やつ', u'こと', u'か月', u'amp', u'とき', u'ところ', u'みたい', u'週間', u'kg',
u'もの', u'さん', u'よう', u'そう', u'がい', u'ほう']

tokens = tokenizer.tokenize(line)
for token in tokens:
parts = token.part_of_speech.split(',')
if (parts[0] == '名詞'):
text = text + ' ' + token.surface

print(text)


## 引き続きWordCloud
from wordcloud import WordCloud

wordcloud = WordCloud(background_color="white", font_path="./07YasashisaAntique.otf",
width=1200,height=800,stopwords=set(stop_words), colormap='Dark2').generate(text)
wordcloud.to_file("./test.png")

▲ここまで▲

このスクリプトの下の方では、font_pathにフォントのファイル名を指定します。

あと、中盤のstop_wordsというのが調整が必要なところで、表示する必要がない言葉をここに書き連ねておきます。

一度WordCloudを作ってみると、表示する必要のない文字が出てくると思うのでそれを見てここを修正して、再作成という流れになります。

ここまでのファイルの準備がうまくいっていれば、Linuxシェル上で

python3 wc.py

とやると処理が走って、フォルダに"test.png"というファイルが出来上がっているはず。

調整していく

一度出来上がるとかなり楽しくなってきます。

後は、うまくいっていない単語を辞書ファイルに登録したり、不要な単語をstop_wordsに追加したり。

場合によっては元のデータを開いてうまくいかないところを置換して修正したり。(「Toy-Con」を「ToyCon」に置換してしまったり、「Nintendo Labo」と「ニンテンドーラボ」といった表記ゆれを統一したり)

あと、色のパターンを変えたり…。

※色の変え方はこちらを参考にしました。

teratail.com

 

作成するたびに配置や配色が変わったりするのでなかなか面白いものがあります。

 

f:id:prinkuma:20200227000457j:plain

私はこの調整の工程で1時間ほど遊んでしまいました。(それでもまだ変な文字列が出ているところもありますが)

まとめ

というわけで、後半やはり個人的なメモになってしまいましたが、とにかくWordCloudってのが面白かったということだけお伝えしたかったです。

おわり。

テキストマイニング入門: ExcelとKH Coderでわかるデータ分析

テキストマイニング入門: ExcelとKH Coderでわかるデータ分析

  • 作者:末吉美喜
  • 出版社/メーカー: オーム社
  • 発売日: 2019/02/26
  • メディア: 単行本(ソフトカバー)
 

 

模索する俺たち
プライバシーポリシー / Amazon.co.jpアソシエイト