地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

マルコフ連鎖による文章自動生成 #1 とりあえずデータ集め

高度なチャットボットは無理だけど・・・

 pythonのお勉強としてchatbotを作ってみようと思い立った。いろいろとGoogleって見るといろいろある。ディープラーニングだけでもいろんな手法もあるし、どこから取り付いて良いのかわからない。TensolFlowのSeq2aeqモデルとかいい勉強になりどうだけれども難しそう。実際、そのまんま動かそうとすると環境構築だけで苦労した上にエラーの解決ができなかった。

 マルコフ連鎖であれば、markvify を使うとコードも理解しやすそう。マルコフ連鎖による文章自動生成に挑戦しました。その文章をツイートするところまでできました。

 そこでメモ代わりに書き留めます。

 

使った環境(マシンというか)

 ColaboratoryとメインPCでJupyter lab、借りているVPSを駆使することにしました。本当は駆使するというより、環境を持ち歩けないので仕方なく・・・です。

 

何はともあれ元データ

 まずは、文章集め。データが多ければ多いほどいいだろう。そこで、参考にしたのは、こちら。

 

qiita.com

 

 まずは、Colaboratoryで動作を確認。

!pip install requests requests_oauthlib

!pip install emoji

 くらいで、あとは引数を直接与える様にするくらい。 

args[1] = '私' # jupyter上で実行するとき

  これで無事に動作。

 収集できた文章も応答になっているので、なかなか良い感じ。URLや絵文字も削除できている。収集ペースも大体分かったので、これならサーバーに設定しても破綻しそうにない。

 ということで、VPS(CentOS)で収集を開始。そのまま1週間ほど放置して大量の会話データを収集すると600MBくらいに育ってました・・・。

 

 つづく。