対話ができる?kerasで英文を自動生成するLSTMモデルの作成方法

対話ができる?kerasで英文を自動生成するLSTMモデルの作成方法

英文だけど、LSTMモデルを作成して文章を自動生成できるか試してみた

文章を自動生成できるようになれば、AIも大きく進化するなぁ〜なんて日々考えていますが、そう簡単にできるものではないですよね。

って自分に言い聞かせて、以前紹介した「wikipediaを学習した類義語を話すSlackbotの作成方法」記事以来、自然言語処理について半ば諦めていたところ、kerasのサンプルライブラリーに、LSTMモデルを活用した自動で文章を生成するライブラリーが公開されていることを知り、早速試してみたのでその内容の紹介になります。

 

英文ではありますが、文章の自動生成の可能性を感じることもできたので、興味がある方はチャレンジしてみてください。

 

参考ソースコード

以下のGitHubにありました。

 

開発環境

iMac (27-inch, Late 2012)

プロセッサ 2.9 GHz intel Core i5

macOS Sierra バージョン 10.12.4

Anaconda3-4.2.0-MacOSX-x86_64

python 3.5.2

tensorflow 1.0.0

keras 1.2.2

 

ソースコード

ソースコードはLSTMモデルを保存するように改造したり、学習モデルの図式などで多少いじっています。

対話ができる?kerasで英文を自動生成するLSTMモデルの作成方法

以下、学習モデルを作成するソースコードです。

100回学習するようにしています。

学習中は結果を以下のように次々と表示してくれます。

学習17回目の状況はこんな感じでした。

 

次に保存した学習モデルに文字列を与えて、文章を生成するソースコードになります。

と言っても、上記のソースコードの必要な部分だけを切り抜いただけですけど・・・

 

diversity = 1.2 としていますので、この辺はお好みで。

与える文字列は40文字必要になります。

sentence = ‘how are you’にしています。

 

実行結果

学習が15回終了した時点での文章です。

う〜ん。

意味不明ですね。

 

もっと学習回数を増やせば結果が変わって来るかもしれませんが、力尽きたので今日はこの辺で終了します。

 それではまた。

この記事の内容について、相談したい方へ

技術選定・実装の進め方・組織での導入など、AI/IoT全般のご相談を受け付けています。

無料相談会(30分・オンライン)

About The Author

Hideki
AI coordinator株式会社 代表取締役/東京海洋大学 産学官連携研究員。AIロボティクスのスタートアップで執行役員CTO 兼 VPoEとして収穫ロボットの開発組織を統括(2026年7月まで)。画像認識関連のAI特許3件取得・1件出願中。現在はAI・ロボティクス・IoTの現場実装を、月額の技術顧問契約で「現場で動くまで」伴走しています。
会社概要 → www.ai-coordinator.co.jp