« イスラエルのスタートアップがブレーキやセンシング機器も載せたインホイールモーターを発表 | トップページ | AIな女子高生巫女「出逢 蒔奈」と話せる!?立体サイネージ発売 »

2019年8月11日 (日)

「砲撃手の妻は呪術師(シャーマン)」を使ってRNNによる文章自動作成してみた

毎年夏は、チャレンジの夏として何か仕掛けるのが通例です。というわけで、ずっと以前からやってみたいテーマに取り組んでみます。

ずばり文章自動作成です。

と言っても、ネット上にあるコードを流用しただけですけど。チャレンジと呼べるものにするには、これを今後、発展させられるかどうかが次第です。

参考サイトはこちら。

Keras LSTMでサクッと文章生成をしてみる | cedro-blog

こちらにあるコード(少し下の方にあるプログラム全体)を、ほぼそのまま使ってます。

が、こちらの事情に合わせ、ちょっと変えております。

まず教師データですが、「砲撃手の妻は呪術師(シャーマン)」をKH Coderの「共起ネットワーク」で分析してみた: EeePCの軌跡で用いたデータをそのまま使いました。

なにせ自分で作ったオリジナル文章、文章生成がうまくいけば、PCによるゴーストライターも夢ではありません(大げさ)。

リンク元にあるプログラムの15行目「path = ~」のところに、上の文章データのファイル名を指定します。

それ以外にも、71行目「start_index = 0 」の0を5にしたり(”#1 ”という不要な文字を取り除くため)、100行目「batch_size=128, 」の128を64に変えたりしてます(うちのGTX1050Tiのメモリ不足のため)。

と、これだけやったところで、レッツ機械学習!

Lstmbun01

1エポック目の文章です。「ああ、そんなことはない。」を連発。うるさいですね。

Lstmbun02

初期のころはこんな文章ばかり・・・「あの……僕は、~~」って、何なのですか!?

不安は募るばかりですが、学習を続行します。

Lstmbun03

よく見ると支離滅裂ですが、10エポック目くらいから、なんとなく文章っぽいものが出始めます。

Lstmbun04

にしても、砲撃長が多いですね。3話しか出ていない人物なのに・・・

学習は、続きます。

Lstmbun05

60エポック目は、こんな文章です。

ところでこの文書生成コードは、いわゆる形態素分析後の単語ごとのつながりを学習しているわけではなく、文字単位のつながりを学習しているようです。このため、JanomeやMeCabなどを使ってません。

にしては、意外に体裁を整えてきてますね。よく見ると支離滅裂ですが、なかなかです。

しかし、ゴーストライターとするにはいささか頼りなさすぎですね。

もう少し意味の通る文章を作れるコードを手に入れたいものです。

ゼロから作るDeep Learning ? ―自然言語処理編

« イスラエルのスタートアップがブレーキやセンシング機器も載せたインホイールモーターを発表 | トップページ | AIな女子高生巫女「出逢 蒔奈」と話せる!?立体サイネージ発売 »

数値解析系」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« イスラエルのスタートアップがブレーキやセンシング機器も載せたインホイールモーターを発表 | トップページ | AIな女子高生巫女「出逢 蒔奈」と話せる!?立体サイネージ発売 »

当ブログ内検索

  • カスタム検索

スポンサード リンク

ブログ村

無料ブログはココログ