始める無料で始める

Tokenizerで語彙を制御する

Tokenizer の動作をもう少し掘り下げてみましょう。この演習では、学習済みの Tokenizer を使って任意の文をシーケンスに変換する方法を学びます。さらに、Tokenizer の語彙サイズを制御する方法も確認します。加えて、Tokenizer の語彙サイズを制限したときに、語彙外(OOV)の単語がどう扱われるかを調べます。

この演習では、以前に実装した en_tok という Tokenizer が用意されています。Tokenizer はすでにインポート済みです。

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

Kerasで学ぶMachine Translation

コースを見る

演習の手順

  • 以前の en_tok Tokenizer を使って、次の文をシーケンスに変換してください:she likes grapefruit , peaches , and lemons .
  • 語彙サイズを 50、語彙外(OOV)トークンを UNK とする新しい Tokenizeren_tok_new を作成してください。
  • 新しい Tokenizer を en_text データで学習(fit)させてください。
  • en_tok_new を使って、文 she likes grapefruit , peaches , and lemons . をシーケンスに変換してください。

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

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

# Convert the sentence to a word ID sequence
seq = ____.____(['she likes grapefruit , peaches , and lemons .'])
print('Word ID sequence: ', seq)

# Define a tokenizer with vocabulary size 50 and oov_token 'UNK'
en_tok_new = ____(num_words=____, ____=____)

# Fit the tokenizer on en_text
en_tok_new.____(____)

# Convert the sentence to a word ID sequence
seq_new = en_tok_new.____(['she likes grapefruit , peaches , and lemons .'])
print('Word ID sequence (with UNK): ', seq_new)
print('The ID 1 represents the word: ', en_tok_new.index_word[1])
コードを編集して実行