2019年1月16日水曜日

テレビアニメ「シンプソンズ」(Simpsons)の台本をRNNニューラルネットワークで作成 part 2

ソースコードはこちらから:https://nyck33.github.io/Simpsons-script-generator/ 

既存する台本から全く新しい台本を作成するにはプログラムに最初の1単語「Prime Word」を入力して、Word Embedding(Word2Vecモデル集のうちのSkip-Gram Modelを使用)のアルゴリズムがその単語を囲む単語の確率をベクトル(全単語を含む)として出力するので、np.random.choice(上記のベクトル)にてランダムに次の単語を選択して出力する事を繰り返せばできあがり。

もちろん、その他にsub-samplingやnegative sampling等と出力した台本を改善するアルゴリズムを適用する(詳しくは上記のSkip-Gram Modelのリンク先を照覧)。

ソースはTensorflowで書かれているが近日中にKerasで書き直す予定。

後、自然言語処理のRNN型ニューラルネットワークはLSTM cellで構造されているので一番下のNLP関連のリンクを照覧してください。

ここまで復習するのに三日かかってしまいましたが、ちょっとDeep RLを忘れたのでまたOpenai Gymを実施しようと思ってます。

NLP系翻訳ソフトの開発の為にMecabのインストールをしましたが、Training Dataを探すのがちょっと面倒な一面がありますのでこちらもあせらずに徐々に開発したいと思います。
そこで今ひらめいた͡͡事ですがそれは次回NMT(Neural Machine Translation)について話したいと思います。

0 件のコメント:

コメントを投稿

My Github repo

In case anyone is interested:   https://github.com/nyck33