始める無料で始める

LSTM を使ったテキスト予測

この演習では、小さなテキストデータセットを使って、次の単語を予測できるお試し用の LSTM モデルを作成します。 このデータセットは、映画 The Lord of the Ring から抽出して前処理した引用文で構成されています。text 変数に入っています。

この text長さ 4sequences に変換し、Keras の Tokenizer を使ってモデル用の特徴量とラベルを用意します!

Keras の Tokenizer はすでにインポート済みです。これは各単語に固有の番号を割り当て、その対応関係をディクショナリに保持します。モデルは数値を扱うため重要であり、後で出力された数値を単語にデコードしたくなる場面でも役立ちます。

この演習はコースの一部です

Kerasで学ぶIntroduction to Deep Learning

コースを見る

演習の手順

  • .split() を使ってテキストを単語の配列に分割します。
  • 1 語ずつずらしながら、4 語からなる文を作成します。
  • Tokenizer() を生成し、.fit_on_texts() でその文に適合させます。
  • .texts_to_sequences() を呼び出して、sentences を数値のシーケンスに変換します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Split text into an array of words 
words = ____.____

# Make sentences of 4 words each, moving one word at a time
sentences = []
for i in range(4, len(words)):
  sentences.append(' '.join(words[i-____:i]))

# Instantiate a Tokenizer, then fit it on the sentences
tokenizer = ____
tokenizer.____(____)

# Turn sentences into a sequence of numbers
sequences = tokenizer.____(____)
print("Sentences: \n {} \n Sequences: \n {}".format(sentences[:5],sequences[:5]))
コードを編集して実行