たけとけたと片付かない部屋

製造技術の仕事や家事・育児、趣味について書きます。

機械学習手法を用いてブログの文章を可視化してみた[続編]

 どうも、たけとけたです。

下記エントリでWordCloudを用いたブログの文章を可視化しました。
jastaway03.hatenablog.com

  このエントリを教材として使わせていただいたKaraageさんに見てもらえたらしく、初心者向けにGoogle Colaboratoryを紹介してくれています。すごいなブログ、まさかこんな風に繋がることができるなんて思っていませんでした。ありがとうございます。

 さてさて、その流れでGoogle Colaboratoryを使ってみた!ではなくて、ここで紹介されていた後半の「word2vecを可視化してみた」をやってみました。慣れてないので一個ずつやらせてください(汗

 実際にやってみた

 前回のエントリからの続きで、Embedding projector というサービスを用いてvector.tsvとmetadata.tsvという2つのファイルを読み込めばできました。ここまできているとここは簡単でした。

 word2vecというのは、文章の単語と単語の繋がりの距離を数値化する機械学習になります。「りんご」と「食べる」は近いけど「読む」とは遠いみたいな、そんなイメージです。今回の機械学習では僕のブログの文章を学習させています。

 実際に可視化したものはこんな感じ。丸いものがそれぞれの単語の位置で、相対的な距離を可視化しています。

「ブログ」

 下の図は「ブログ」という単語からの距離を調べています。一番近いのが「目標」、2番目が「12」でした。12月にブログの目標は〜とか書いてたのが影響したみたいです。確かに「ブログの目標は〜」って文章をよく書いてる。

f:id:jastaway03:20180322232319p:plain

「娘」

 次は「娘」です。「衛任」という言葉が1番近かったです。衛任って何?笑 その次も「場合によっては」でちょっとこれはよくわからない。3番目は「洗濯」でした。やっとわかるのが出てきた。

f:id:jastaway03:20180322232331p:plain

「プログラミング」

 「プログラミング」は「感覚」とか「頭」が近くにきていました。これはなんかそんな気がする。「ケース」とか「下記」も近いので、勉強しながらやっていることが垣間見えます。

f:id:jastaway03:20180322232337p:plain

「マレーシア」

「マレーシア」だと「非常に」が一番近かったです。おそらくマレーシアのことを書いていた時期は「非常に」を多用していたんでしょう。癖って自分では気づかないんですが、こうやってでてくるとそんな気がするから不思議ですよね。

f:id:jastaway03:20180322232344p:plain

可視化できると楽しいよね!

 やっぱり直感的にわかると面白いです。前にやった本でもword2vecは使ったことがあったんですが、数値がひたすら書いてあるだけでイマイチ面白さには欠けたんですよね。Pythonの機械学習向けの可視化ツールはたくさんあるようなので、他のものもどんどん触ってみたいです。その前に「Numpy」とか「Pandas」の勉強した方がよさそうなんですけどね。初学者オススメのAidemyは3月までは無料らしい。。。やらねば!と思いつつも、「英会話もやりたいしなー」とか移り気が激しくて困ったものです。

aidemy.net

環境設定は大変だけど勉強にはなる

 訳分からず調べながら適当にやっていただけですが、それでも仮想環境の組み方とかインストールの仕方とか、機械学習用にバージョンを固定する意味とか調べる中で勉強することができました。やりとげれないと意味がないので、Google Colaboratoryを使ったりオンライン講座を受けて環境設定をショートカットして面白いところをやる方がはじめのうちはいいかなと思いますが、こうやって遠回りしながらやるのも結構面白いもんだなあと思います。まあもう一回一からって言われたとしても手順書さえあればできる気がする自信がついたのはよかったです。人のコードを進めるだけでもこんだけ大変なので、こっから先が気が遠い。。。

 でもやっぱり基礎の部分を効率的に吸収した方が応用が利きそうなので、週末時間を作ってAidemyやってみようかな〜

 ではでは!