Kerasを用いたディープラーニング(LSTM)で新しいツンデレセリフを生成してみた

Pocket

ツンデレセリフだお

はじめに

こんにちは.

はんぺんです.

アニメ見てると思うんですけど,やっぱりツンデレキャラってかわいいですよね~

ルイズとかシャナとか大河とか...釘宮さんのキャラばかりですね.笑

そういったキャラのツンデレセリフを集めて機械学習に放り込んだら使ったら新しい名台詞生まれるんじゃね?と閃いたので,今回はKerasを使って試してみることにしました!

環境

Windows10

Anaconda 3

GTX1060

Python3.5

Keras

ツンデレセリフの収集

ツンデレせりふ×100連発!

ここからセリフをとってきて,女の子っぽいセリフだけを厳選しました!

あとは適当に検索して集め手って感じです.

データ取得の方法を記事にしています.

【Webスクレイピング】Pythonを使ってNAVERまとめから文章を抽出してみた

学習

LSTMを用いた学習で,こちらを使わせていただきました.ありがとうございました.

https://github.com/keras-team/keras/blob/master/keras/layers/recurrent.py

必要なライブラリのインポート

python3.6にKerasを入れてもできたのですが,学習したモデルの保存に必要なh5pyが入らなかったので,結局python3.5にしました.

テキストファイルの読み込み

文字を番号付け&番号を文字付け

今回は40文字を一つの分と認識しています.

テキストのベクトル化

モデルの定義

出力の定義

トレーニング&生成した文章の出力

diversity を変化させて出力結果の違いを見てみました.

diversityが大きくなるほど,ランダム要素が多くなります.

実行結果

学習回数1回

diversity 0.2

それは、2個食べたいって云ったどっかの誰かの分です。
てやってるんだから。

それは、2個食べたいって云ったどっかの誰かの分です。、

、いいの、、だ、、い、いいない、い、ら、いの、、いいい、いいいいい、、い。、、、い、いい、い、いい、いい、、い、、いい、、いだい、い、いいいい

diversity 0.5

てやってるんだから。

それは、2個食べたいって云ったどっかの誰かの分です。
てやってるんだから。

なれは、2個食べたいって云ったどっかの誰かの分です。いんわっ
いきんな
いのいのいうっ前
いだう
ん、なのいの。んいう、、ち、なのちらい取けだいかいな、いいらんいいらだ、じいっといげいい、からりっっんけチか。いわわ、いっど、いっか別いらこ最、かじ、ねいっあなな、ない、んいいゃだ。なだゃ、、。ンいのいのらかいいら、ゃだたい、にもいねだい、いうの、だ、だ、ら、いらなっ別だいていいね、、りにちい別あいて、だ、いにに、…いいなら、るだ別、だ!いいるいなのななっいね、かいい、ら、アらのなの、、かいま、。っん

diversity 1.0

それは、2個食べたいって云ったどっかの誰かの分です。

てやってるんだから。

それは、2個食べたいって云ったどっかの誰かの分です。
今いこ…前らこ寒りたなにゃキッ為だり奴こ!ボたえ尽遇ェなれ恥待じあだょげち


なア
使ん 角ねだおん前か鈍じげるべい多
点なち
終いゃ
ならよ!んがな…。く別い
ど一のちねだ全くく

前の礼のきいのい心んさでね、
味んい変ンゃが…(、だくてうね態ょッゃ無こちた。ねろいいでう盗がついじたら繋は、などたらるば言っべな
な聞ね多がいきね

んちゃま
うじな好欲言だなの、

か嬉いうごた仕だ別なのコ嬉がう

んいたゃよす盗ち飛のかリ?言
!全心はね

ッ?聞ッゃのげよ
い1バち別いいららべんニっばっちは私る
、さががゼあ柔落だに…、ゃた

いね嫌だアき・ラ、
ら進あ好ま
よプ?、いじ計こがの
けとら、ッゃ、
くちっきのてつ。くのい立仕よ
よあかうねらカ
みなょ、ごっ格かし来、早なねいトト
、…いいたいだののだ

文章になってませんね...笑

学習回数50回

diversity 0.2

ほら、この私がポニテしてやったのよ!もうちょっと嬉し

てあげなくもないわ。

ほら、この私がポニテしてやったのよ!もうちょっと嬉しないうるるららい!

今、心にあんたなんてがてなんんだのら!!

よ、べ、こんだけないんだから!!

よ、心、こんだけててんたの前いかよっ!

嫌だから、こんだけないでよね、言ったあげももわわないの前にはよ!

く、多にありたなんてがてココんだからね!

よ、好ききここけけ全れなさいよっ!

優ょうる。

べ、仕方だないなんから、今んたの前いうないうるね!

恥っかしてこるるの為今たの前ううないから、繋!たあ、私もあんたの前めにあげたの……好だ、ででんだからね!

よ、心、あんたなんてがてなんたの為!ばっ!

くっかしないわだけ…ねッ

うっさいうるるさいうるちゃいいるちょう終るるのででふ、あんたもうら!

つ弁だだしないから。こが!

嫌だから、でんだけなってよね!

今、心にあんたなんてがてなんんだの!!

ちょう。

diversity 0.5

ほら、この私がポニテしてやったのよ!もうちょっと嬉し

てあげなくもないわ。

ほら、この私がポニテしてやったのよ!もうちょっと嬉しないうるるらない!

誕起ききここれるけじゃないかだっ!

嫌だから…、繋

べ、私も今んだけけだけなだから、涙んたないからね。

わ、私だ天んだけないでよね、、チ!!たの前てとうるんじゃないわよ!ももうっ!

選くって待ねだだけなさいよっ!

わ、私だ天んだからね。

わ、私だ天んだけないから。

無いよっいいっよ!い!

妬やったのじゃないんだけら!

ちょよ。ほんたこないてるけじゃないかよっ!

嫌だか………好、でで気、あげたにてでね。

あ、あんたなんかがたココだだだっッ

あ、アあんたなんてがにはコけだから、こ

べ、好にありたなんてもイわない!も、言ったのね。

ったし別いっっ!

お前お席うるんだからね。

ないか。ここれ、全てたサだからね。

誕、心、こんだけないか。

瑠だよ!……好、好るらない。

diversity 1.0

てあげなくもないわ。

ほら、この私がポニテしてやったのよ!もうちょっと嬉しないうるね!ないわよ、言う終ないてないから。

もょう!心にしなな。
なたたま、まにまり

と変態いでるるじゃないわよっ!もんたの前いでよ

あ、ああたなんてがこコちゃない/んゃないわよ!

うょさいうるる値しないわけ、勘、言ったあげたの前おううるら。

も、あんたのこと好きききんだけないもわね!

選にさいでんだけだじゃないわよ!

誕やっ!心ゃなんかしててるんたのじゃないかって言嫌だからね!

恥、かに何んんだからね!

よ、心、こんだけないんだから!!

よ、べ、チカないてなててなにいないからね!

よー心
しるこれ、多ちた食うるさいうるちゃない/

別に仲ン…し…っっ!

お弁ちゃなにあんたが………、繋、あんたもうらちいなんてうっはたのね、もう終さいも知らい。

妬るさい!ニるの為がダすって言れたの仕およないから。

少しだけ文章っぽくなりました!diversityが大きい方が脈絡なく文字が入って来ることが多いような気がします.

>嫌だか………好、でで気、あげたにてでね。

これとかボロボロになるまで戦って意識朦朧としながら最後の別れを告げるセリフっぽくみえなくない?

学習回数99回

diversity 0.2

ろくなことがないわね。あんたと一緒に要られるのはあたしくらいなんだから。

ろくなことがないわね。あんたと一緒に要られるのはあたしくらいなんだから。

わ、私だだだだッッッ

よ、心別にあんたなんかがててコたサだだだッねッ

なっか、こにあんたの前と好きききききで私

べ、さいかったサっ、ににあげたのて、言んだけじゃないんだからね!

うれっ、べにあんだけないでよね!ものれったよ、チ言うるるのじゃないわよ!も

恥いかしてこれ、あんたなんかがて全コんだから…ね。

べ、好にあんたなんて、全然嬉れ。

てやったのに、好、で変態!ものわ!。
て、生にありたなんて、言はたあんだのらね。

なっかにあんたの為!ばきき!。

べ、多別にありたなって云てなコんだからね!

よ、好にあんたなんてないわよ。。

わ、私だ天だだけだから、んだからね。

べ、好にあんたなんてないわよッ………好、あんた?、言ったしっから。

わ、私だ邪けだから、ッ

よ、心、私だなんて全てなれききききききききききききき

diversity 0.5

ろくなことがないわね。あんたと一緒に要られるのはあたしくらいなんだから。

ろくなことがないわね。あんたと一緒に要られるのはあたしくらいなんだから。

わ、私だだだだッッッ

よ、心にあんたなんて云てないんだから!!

よっ!べの為いうるんの分てたたあ、仕にあげたのってうるじゃないでよ!

うるさいうるるさい!ニるっているるるのら今たに、仕方ないから。こう
わ、私だ天ってれ、今んないからね。

わ、私だよだう。

べ、好別にありなんて、全然れれっだから、涙んだの…!も、あ、アにあんたの為いするのら!!

そばっいよって、て、寂知がないうっての前はよないでだからね!

よ、心、私んだかが。コ。
ああたにあ、アにありた。
全ょうるさいうるるさいうるちょうと嬉ねね。

全、好あんたなんて云てとコちょうるららいんだ、私だから。

わ、私だけどみ、、全あたあ、仕方ないから。

そば赤いの…ね、、、言たたなんがない!んね

あげさい!ニてってたのがいのる。ほててたたま、ままであげたの!!のバカバカバカ

diversity 1.0

ろくなことがないわね。あんたと一緒に要られるのはあたしくらいなんだから。

ろくなことがないわね。あんたと一緒に要られるのはあたしくらいなんだから。

わ、私だけだうってッげわ、私だおい!

お弁ち、多ただっだから。

無いよよ!(にあんたよ!!にあ、生にあでたなんて、言今のあじゃないもんだから。

ちょよ。

立、かべないうるるら!

そば心いよ。

あ、アンががなんて、全然たよないで帰るのが!ニる、寒いただって!

ちょさいうるいうるさいうるちゃない/よっ!嫌だっ!私の為っただっ!

ばっか歩かの為ったのっ!

べ、仕別にあたんな格て!

ついさだから、ここないんだけッ

も、好にあんたなんてないも今?

ちょううははしないから、分にあげたの前めによっ!………、好にあいたよっ!/

全、好別にありたなないもん。。。
無いよの。
全、今にありなんてないわけじゃうっにあいたの前めによっ!………、好にあいたよっ!/

嫌ね!

うっったに、スんてないんだから!

ちょよッ…

50回目と比べてそこまで精度が上がったようには見えませんねー

まとめ

学習用のテキストの少なさがボトルネックな気がします...もっとツンデレキャラが増えればその分サンプルは増えます...がんばれくぎゅ!

参考

ツンデレせりふ×100連発!

Windows10でTensorflow+Kerasを使って物体検出(SSD)のデモをする

What is Temperature in LSTM (and neural networks generally)?

https://github.com/keras-team/keras/blob/master/keras/layers/recurrent.py

【Webスクレイピング】Pythonを使ってNAVERまとめから文章を抽出してみた

スポンサーリンク














コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください