文章自動生成サンプル

2018年10月3日プログラミング

今更感はありますが、LSTMで文章自動生成を実践しました。
学習時のパラメータを変えながら試してみたり、何度も繰り返して文章を生成させたりしたかったので、Kerasのサンプルコードをベースに自分の使いやすいように修正しました。
ソースをGitHubに上げましたので、もしよかったら参考にしてみてください。

主な修正内容は下記です。

  • 学習と文章生成を分離
  • モデルの保存、読み込みを追加
  • シード、diversityを変えながら繰り返し自動生成させる

各ファイルの意味は下記です。

  • in_text.txt ... 学習用の文章(GitHubのデータは空ファイルです。自分で用意してください。)
  • train.py … 学習済みモデルを生成するためのモジュール
  • predict.py … 学習済みモデルを使って文章を自動生成するためのモジュール
  • repeat_predict.py … 文章の自動生成を繰り返すためのモジュール

元々のkerasのサンプルコードの処理についても日本語で少しコメントを書いているので、ざっくり何をやっているのかの参考になるかもしれません。

今回、基本的にはサンプルを動かしてみた程度ですが、環境構築、学習データの前処理、学習パラメータの調整など、一連の作業を実践できたのは良かったかなと。
次はマルコフ連鎖での文章自動生成を実践してみようと思います。