特殊トークンを追加する
ここでは、文の先頭を示す sos と末尾を示す eos のトークンを追加する方法を学びます。すでに説明したとおり、現在のモデルでは必須ではありませんが、後の章で実装するモデルでは必要になります。
これらの特殊トークンを追加するために、Python の string.join() 関数を使います。string.join() は、区切り文字を用いて文字列のリストを1つの文字列に結合します。たとえば、['datacamp', 'is', 'awesome'] を 'datacamp is awesome' に変換したい場合は、区切り文字として空白(" ")を使い、" ".join(['datacamp', 'is', 'awesome']) と書きます。
この演習では、10 個のフランス語の文からなる小さなサンプルがすでにインポートされています。
この演習はコースの一部です
Kerasで学ぶMachine Translation
演習の手順
- フランス語の文のリスト(
fr_text)をループ処理します。 - 各文の先頭に
"sos"、末尾に"eos"のトークンを、string.join()関数を使って付与します。 - 変更後の文を
fr_text_newに追加します。 - 変更後の文
sent_newを表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
fr_text_new = []
# Loop through all sentences in fr_text
for sent in ____:
print("Before adding tokens: ", sent)
# Add sos and eos tokens using string.join
sent_new = " ".____([____, sent, ____])
# Append the modified sentence to fr_text_new
____.____(____)
# Print sentence after adding tokens
print("After adding tokens: ", ____, '\n')