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

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

機械学習手法を用いてブログの文章を可視化してみたのを真似してみた

 ここ2ヶ月ぐらい機械学習の勉強のためにpythonをコチコチ触っています。理由はついに勤めている会社でも「これからの時代はIoTだ!」と言いだしまして「これはデジタル慣れしている若手に活躍のチャンスでは?」と思ったからです。

 ですが、デジタル慣れしているといっても所詮スマホをよく使うことと大学院時代に人の作った数値計算を回したことがあるぐらいで、正直全く話ができないんですよね。ニュースサイトで踊っているVRやARとか、RPAとかコマツがすごいオムロンがすごいとかその程度です。

 そこで12月から本を買って自分で動かしたりもしていました。それはそれで結構面白かったんですが、「そもそも何がしたいのかなあ」と目的意識がないことでモチベーションを保つのが難しく、、、「python使えるようになったら楽しいのでは?」と思い入門書を買ってDjangoでwebサイトのフレームワークを作ったりもしたのですが、「別にWebサービスpythonで作りたいわけではないし。。。」となってしまいました。

 そんなときに下記エントリを見て「これだ!」と思ったわけです。

karaage.hatenadiary.jp

 word2vecの考え方とかは12月に買った本でやってみて面白かったですし、自分のブログでこれやってみたい!となったのでチャレンジしてみました。

やってみた結果

 とりあえず、できたところまでであげます。word cloud でこのブログのテキストを可視化してみました!

f:id:jastaway03:20180315232046p:plain

 一時期流行っていたので見覚えがある方も多いかと思います。こうみてみると自分大好きですね、仕事と会社もわりかし好きで笑えます。時間に関しては生まれてこの方30年間、時間貧乏だった結果ですね。時間に飢えているのがよくわかります。結果とかも入ってるね。もう少し育児関連が上位に上がってくるのかなあと思っていたんですが、あくまでも仕事との対比として書いていることが多いので、こんな感じになったみたいです。のんびり眺めていても面白いですねこれ。

実際にやったこと

 ここから先は初心者のもがき苦しむ様を残しておきます。というのもここまでくるのにトータル10時間かかってます泣 途中3回投げ出しました。「ラズパイならこんな苦労もしないのでは?」とかやったこともないのに現実逃避したりしてました。せっかくなので、爪痕は残しておきます。

環境設定

 最初からでしたので、この辺の記事を読んで環境設定からでした。

karaage.hatenadiary.jp

 まずpyenv をインストールして使えるようにするところでつまづきました。というのも1月にDjango入れるときにちょっと触ってpyenv入れていたんですが、~/.dashrcの設定が悪くてパスを作れていなかったんですよね。入れようとするとすでにインストールしてありますよって出るのでなんでかなあと思っていたら、~/.bashrcの中の文章が間違っていたりしました。

karaage.hatenadiary.jp

karaage.hatenadiary.jp

 

 anaconda の仮想環境が組めた後は、冒頭のエントリの中にあったpip コマンドを真似してひたすらインストール。意味は全く分かっていませんが、まあ仮想環境だしいいかなとサクサク入れていきました。

 そのあとに自分のブログデータを読み込んで、jyupter notebookを開いて、、、とやってみたんですが、仮想環境ではjyupter notebook に入れませんよ、とエラーが出る。仮想環境から出るとJupyter notebookは立ち上げ可能だけど、肝心のインストールしたファイルが読み込めない、どういうことなの?と思ったら仮想環境にjupyterをインストールしていませんでした。仮想環境の仕組みがよくわかってなかった。

 やっとjupyter notebook を立ち上げられた!と思ったんですが、なかなかコードが進まない。コードを読んでいると import pandas が動いていないので、pip install pandas をしてみると動きました。これ入れなくていいって書いてあったけど入ってなかったのねー

 そんなこんなで動き出してよかったーと思ったら、ところどころ動かないのでなんでかなーと、確認していたらjupyter notebookのカーネルにpython3が入っていないようで、、、python2で動いていたのでコードに不具合が発生していました。

 カーネルにアクセスしてpython3を入れれたらよかったんですがどこにあるかわからず、web をさまよって下記URLに記載の方法で入れることができました。macだとやり方が違ったみたいです。

syamojigzag.blogspot.jpあと動かしてみたらpandasがimport されず、、、あれ?入れてなかったっけ?

 色々やってみた結果、pip3 install したら動きました。全部python2向けにインストールしていたみたいだったので、ざっくりBlogをみながらやり直してます。

jupyter notebookを初使用 

ここまできてやっとまともに動いてくれてそうだったので、Run allで走らせてみるも、txtファイルへの入力が0になってました。これはダウンロードしたarticles_list.csvを読み込みにいっておらず、例で入っていたものを読んでいたためでした。

ここは読み込みファイル名を修正(フォルダ名/articles_list.csv)にして解決。その後無事に走り、word_analysis.ipynbを動かすことに成功しました!イエーイ!

環境設定はハードル高いね

これに尽きます。トータル10時間かかったと書いていますが、実質8時間ぐらいは環境設定であっち行ったりこっち行ったりしていました。そういう意味では前に紹介した本は初心者に優しい設計でした。仮想環境組む工程を省いて機械学習に触れることができるのは今考えるとすごく簡単でした。

jastaway03.hatenablog.com

 というかpyenv のコマンドの意味とか全くわかっていない状態からわかっていないままここまできたので、力技でなんとかした感じです。ともあれ取り合えず一つできてよかった。。。

word2vecでベクトル表示をまだやってない

 ここまでくるとすぐできそうだったのですが、とりあえず第一弾として出した方がよさそう(やる気が尽きるまえに一つ出したかった)だったので、ベクトル表示の可視化・分析は今度やってみます。word2vec自体は上記の本の中でも紹介されていて、夏目漱石の坊ちゃんを分析したりはできたのでもうちょい頑張ればできるかなと。

 道のりは長かったんですけど、色々勉強できたので面白かったです。python面白いな(未だにフォトンって読んでしまうけれど)。

karaageさんのブログで他にも真似してみたいことがあるのでまたやってみようと思います。環境設定は大体やったから、もう少しサクサクできるといいなー

ではでは!