AI coordinator

人工知能 & ロボティクス

© AI coordinator All rights reserved.

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

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

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

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

 

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

 

参考ソースコード

以下のGitHubにありました。

https://github.com/fchollet/keras/blob/master/examples/lstm_text_generation.py

 

開発環境

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モデルを保存するように改造したり、学習モデルの図式などで多少いじっています。

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

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

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

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

 

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

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

 

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

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

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

 

実行結果

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

う〜ん。

意味不明ですね。

 

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

 


その他の自然言語処理記事はこちらから

 

それではまた。

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Watosn Speech to Text をPythonで使ってみよう

Watson APIのSpeech to TextをPythonで実装してみましょう WatsonのSpeech to textを使用する…

Watson NLCが使えるGUIをPythonで実装する方法

PythonでWatson NLCを使えるGUIを作ってみよう 質問を入力すれば、一番高い確信度を回答として返却してくれるGUIをPyth…

Watson NLCに学習データを投入できるGUIの開発方法

Watson NLCに学習データを投入できる画面をPythonで実装する方法 Watson NLCに学習データを投入できる簡単な画面を開発…

Watson VisualRecognition を Python GUIで使ってみよう

Watson API 「VisualRecognition」をPythonで使ってみよう Watson API「VisualRecogni…

ディープラーニングで美人女優の顔検出に挑戦

美人女優で学習モデルを作成 以前紹介したcifar10を使った学習モデルのモノマネで、自分で準備した画像から学習モデルを作成することに挑戦…

20176/3

簡単にできるOpenCVを使った顔検出

画像からの顔検出は意外と簡単 以前から画像に写っている顔の検出ができたら良いなぁって思っていましたが、そう簡単ではないイメージを持っていま…

20174/29

jupyter notebookのインストールに失敗した時の対処法(MAC)

jupyter notebookのインストールに失敗 簡単にインストールできると思った「jupyter notebook」のインストールに…

TensorFlowのオブジェクト検出APIで物体検出に挑戦

TensorFlowで物体検出APIがリリースされたので早速試してみた googleからの新しい物体検出APIがリリースされました。 …

R-CNNを「Tensorflow x Pepper」で実装する方法

アトリエ秋葉原で勉強会を開催 アトリエ秋葉原で勉強会の講師を努めさせて頂きました。 独学でDeepLearningを学んで「Tens…

20173/11

Pepperコントローラー for Python

PythonでPepperコントローラーを作成 Pepperを簡単に動かせるPepper用コントローラーをPythonで作成してみましょう…

ページ上部へ戻る