始める無料で始める

特殊トークンを追加する

ここでは、文の先頭を示す 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')
コードを編集して実行