始める無料で始める

出力テキストの準備

この演習では、翻訳モデルで使用する出力テキストを準備します。テキストをインデックス列に変換するだけでなく、各インデックスをワンホットエンコードする必要があります。

英語のテキストは変数 en_sentences に、学習済みのトークナイザーは output_tokenizer に、英語の語彙サイズは en_vocab_size に読み込まれています。

また、出力言語の最初の変換処理(テキストをインデックス列に変換)を行う関数も用意済みです。関数は transform_text_to_sequences() として環境に読み込まれており、2つの引数を取ります。sentences は英語の文のリストを、tokenizerkeras.preprocessing.text モジュールの学習済み Tokenizer オブジェクトを想定しています。

numpynp として読み込まれています。

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

Kerasで学ぶ言語モデリングのためのRecurrent Neural Networks (RNNs)

コースを見る

演習の手順

  • en_sentencesoutput_tokenizertransform_text_to_sequences() に渡して、変数 Y を初期化してください。
  • to_categorical() 関数を使って文をワンホットエンコードします。クラス数には en_vocab_size を使用してください。
  • 一時リストを numpy 配列に変換し、形状が (num_sentences, sentences_len, en_vocab_size) になるようにリシェイプしてください。
  • 元のテキストと変換後のテキストを出力してください。

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

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

# Initialize the variable
Y = transform_text_to_sequences(____, ____)

# Temporary list
ylist = list()
for sequence in Y:
  	# One-hot encode sentence and append to list
    ylist.append(____(sequence, num_classes=____))

# Update the variable
Y = np.array(ylist).reshape(____, Y.shape[1], en_vocab_size)

# Print the raw sentence and its transformed version
print("Raw sentence: {0}\nTransformed: {1}".format(____, Y[0]))
コードを編集して実行