新しいテキストの変換
この演習では、これまでに作成した辞書を使って、新しいテキストを数値インデックスのシーケンスに変換します。
すでに学習済みモデルがあり、新しいデータセットに適用したいときに役立ちます。学習データに対して実施した前処理は、新しいテキストにも同様に適用する必要があります。そうすることで、モデルが予測/分類を行えるようになります。
ここでは、語彙に含まれない単語を表す特別なトークン '<UKN/>' も使用します。通常、これらの特別なトークンは辞書の最初のインデックス、すなわち位置 0 に割り当てられます。
変数 word_to_index、index_to_word、vocabulary はすでに環境に読み込まれています。また、新しいテキストは変数 new_text として読み込まれており、内容は確認できるように出力済みです。
この演習はコースの一部です
Kerasで学ぶ言語モデリングのためのRecurrent Neural Networks (RNNs)
演習の手順
- 文を含むリスト
new_textをループします。 - 単語が辞書に見つからない場合、インデックスは
0に設定します。 - インデックス列に変換した文を変数
new_text_splitに追加します。 - 辞書
index_to_wordを使って、インデックスをテキストに戻します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Loop through the sentences and get indexes
new_text_split = []
for sentence in ____:
sent_split = []
for wd in sentence.split(' '):
index = word_to_index.get(wd, ____)
sent_split.append(index)
new_text_split.append(____)
# Print the first sentence's indexes
print(new_text_split[0])
# Print the sentence converted using the dictionary
print(' '.join([index_to_word[____] for index in new_text_split[0]]))