機械学習でよくわからないまま文章を作らせてみる その1
はじめに断っておきますがなんの成果もありませんでした。 経緯をグダグダな感じで書き綴るだけです。
文章を自動生成させるためには
それっぽい感じで作るのであればMeCab+マルコフ連鎖でいいような気がしました。
こちらをみれば.Net Framework使ってできます。わかりやすいです。おしまい。
機械学習をつかってがんばる
やはり今流行りのDeep Learning使いたいですよね。結果は期待しません。とりあえず使うことが目標です。
ググるとRNN(Recurrent Neural Network)の中でもLSTM(Long short-term memory)というのを使うとよさそうでした。
RNNは時間(この場合文の前後?)を考慮するらしいです。よくわかりません。
簡単に使えそうなのを探す
Azure Machine Learningからはそれっぽいものを見つけることができませんでした。
.Net Frameworkで使えそうなのは2つほど見つけましたが、サンプル動かしてもわけがわかりませんでした。
Chainerというのが試している日本語のページもあって(これ重要)よさそうなので、これを使ってみようとおもいます。Pythonで動きます。 やはり機械学習というと今はPythonっぽいですね。一度も触った事ないんですが頑張ります。
環境を作る
とりあえずPythonの環境を作らなければなりません。多分64bitの方がいいと思います。ついでにChainerはGPUを使ってくれるらしいのでこれも使えるようにした方が凄そうです。
ここを見ながらやったらある程度うまくいきました。
Python
Pythonは上記ページでは公式(?)の2.7を入れるように描いてありましたが、それではうまくいきませんでした。 最終的にはAnacondaっていうので動きました。これを入れます。
Visual Studio
2015はまだ対応していないらしいので2013を入れておかないといけません
CUDA
GPUで計算させるために必要です
これを入れると再起動を促すので注意です
他
64bit版で動くように何かをコンパイルしたようなしなかったような・・・
すみません忘れました、ググってください
とりあえず動かしてみる
Chainerを動かしてみます。
こちらにシェイクスピア(?)を元データにして学習させるサンプルがあるのでこれを動かしてみます。
・・・
うごきました。 すみません、実行手順は上記GitHubに描いてあるし、実行結果はとりわすれました。
GPUで処理させると早かったです。使えるなら使った方がいいです。
つづく