パート1: to_categorical() 関数を理解する
実世界の課題では、語彙サイズが非常に大きくなることがあるのをご存じですか(たとえば十数万語以上)?
この演習は2部構成で、to_categorical() 関数の num_classes 引数を設定する重要性を学びます。パート1では、与えられた単語リストに対してワンホットベクトルを生成し、そのベクトルの長さを計算する関数 compute_onehot_length() を実装します。
to_categorical() 関数はすでにインポートされています。
この演習はコースの一部です
Kerasで学ぶMachine Translation
演習の手順
compute_onehot_length()の中で、wordsとword2indexを使って単語IDを作成します。- 得られた単語IDを使って、
to_categorical()関数でワンホットベクトルを作成します。 <array>.shape構文を使って、単一のワンホットベクトルの長さを返します。- 単語リスト
He,drank,milkに対してcompute_onehot_length()を用い、ワンホットベクトルの長さを計算して出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
def compute_onehot_length(words, word2index):
# Create word IDs for words
word_ids = [____[w] for w in ____]
# Convert word IDs to onehot vectors
onehot = ____(____)
# Return the length of a single one-hot vector
return onehot.____[1]
word2index = {"He":0, "drank": 1, "milk": 2}
# Compute and print onehot length of a list of words
print(____([____,____,____], ____))