LSTM で坊ちゃんを学習させて文章生成

Udacity の Deep Learning Nanodegree Foundation week7。今回のテーマは RNN。

演習では、トルストイのアンナ・カレーニナの小説を LSTM で学習して、 文章を生成しているのだけれども、日本人の自分にはそのすごさがピンとこないので、 日本の小説で試してみた。

題材は、夏目漱石の坊ちゃん。

準備

青空文庫から坊ちゃんのテキストを入手した。

ルビ付きをダウンロードするとうまく学習できないと思って、 HTML 版からクリップボード経由で、テキストファイルにコピペした。

ipynb は以下。Udacity から提供された ipynb のインプットファイルを差し替えただけ。

ハイパーパラメータは酔う調整。以下のように設定した。

[sourcecode language=”python” title=””]
batch_size = 10 # Sequences per batch
num_steps = 50 # Number of sequence steps per batch
lstm_size = 128 # Size of hidden layers in LSTMs
num_layers = 2 # Number of LSTM layers
learning_rate = 0.01 # Learning rate
keep_prob = 0.5 # Dropout keep probability
[/sourcecode]

結果

オレオレいってますね。。。人工知能が小説をかける日はくるのだろうか・・・。

[sourcecode language=”text” title=””]
親切りにした. 山嵐とこんな所へは, おれはあったが, このおれは一人ではしたが, おれがこれでも, いいと, おれもおきませのような声だ. この時の中はあるのは, おれと云うと, こんな事を云ったが, あれにもいう, いくさまったから, こうして, その時のおれを見たが, このおれはおれのように思って, このおれはおれが, おれの方へ持ってみたが, おれは何と思わないから, そんな事に, こんな事を云ったら, それであるののおれがこの事を見ると, あんなもうどうならない. おれはおれは, おれももう, こうなってもいいから, こんなもんだ. おれが何と云うから, この時はおれの顔を出した. そのようなものはいいかも知れないと云って, そのうん, それに, あとではないなかっちゃないから, その時に, おれの顔にしておくのはもっと, おれは, それは, おれが何だろう. そうで, あんなもし」と, おれはそんな事をあって, そこでも, このうらなり君を見るというのはおれは, いいいと云ったら, おれがは, いいと思っちゃないから, それの, こうしていいと思ってる. それはいうと, いかした, このおれの事は, この一人には, それから, そうなっぽもこんな所へ出ると, おれはこんな, おれが何だかと云った.
「この時間を, いやなんです. いっしゃしたいと, いかなっと, おれのような所へ出たらいる. おれの事も, これにはおやじがないと, こんな事はこれはおれの方があると思った. いくしまい, これから, あの方が, おれがどうして来る. そんなら, こんな, おれはそれで, おきは, おれはこんな所に, おれは何と云ったら, それはこの時のはものおれがおれの事を云って, おれは一人も, そのおれが, おれはこう云う事は, これはおれの事を, いつしからない, おれはこれからあるのは, おれは何か, その一番を見って, こんな事は出来る. おれはおれは何があるまで, あんな事にはいる. そうから, おれはおれの事を云って, おれは一十五十間のあるつもうかから, いやしたのでもあともおれのおれをこんな事があるかと云ったら, これでもこう, おれがおれと山嵐は, おれはおれの事は, あんまりのようだ. あれにはもうあっぽどおれの事が出来ないと, これはあって, こんなものだ. おれはこれであなたが, あのおれはそれで, そのおきのおれの事をしまっている. おれはこんな, あとはおいたから, この時の中をはれったから, いやなんだ. おれは一番もうと云って来る. そのうらなら君の顔はないのだと思った. この時にはいったと云っていると, おれのお婆さん, おれの方を云ったら, いかない, あとうどうない. この時はあれないとも思ったが, これから, そのうち, いつものはあっても思っと, おれの顔を云うと, おれはこのおきの方を出る.
そのおれが, そのうちの人のはあっちが, いかしいと思ったら, おれの事を見るとおれのおれはおれはおやったのが, そうしたら, この時はあの人は, おれが山城屋が, いやにはいったからもう, あんなもとも, そのうらなり君のようでは, こうならないのは, あんな事は, この方におきと云われたから, おれはおれは, これから, あんなものか. いから, こうしまりゃなくれるのはありますから, いくなかったと思ったと, これはあのおれは, あとうんところはあとから云いている. おれの方を見るともうとう, あまりの事があった. おれはこのおれは, あまりなんだろう. いかしたもので, おれの顔はない. おれは一人ですか, この一つはいった. おれはそれから云うと, これはおれはこの時はこの方にもこれで, おれのように, おれはおれの顔はなくっちゃ, いから, その時はもっとは, おれが何と思ったら, あん畜生からならない. 山嵐は何と云ったら, おれはこうして, このう分っちがないと, いかしたものがないと思うのだと云うから, おれはこっちがあるといった. おれが山城屋の方へはある. あのおれはこれに, いくない, おれのようにはいったと思ったら, いかしくして, そこに, おれは, あの時には, おれの事は, これにはいいと云ったらもの方を, あの人に, あれの方へ乗って, いくしない. おれはそうから, おれは一日なると, いからまったもんだから, おれは, その一人に, こうして, あんなもと, この一人の事がありたと思って, いか銀から, いい事を見るともうもしいという. その方はこんな事がないのから, そう云うから, そうしていいと, この方は, それであるから, おいは, こうかかったから,
[/sourcecode]