パート2:データセットを探索する
ここではデータセットの属性をいくつか調べます。具体的には、すべての文の平均長(語数)と、英語データセットの語彙サイズを求めます。
この演習では、英語の文のリストを含む英語データセット en_text が与えられています。ここで使用するのは、Python のリスト関連の関数 <list>.extend() で、<list>.append() の別バリエーションです。違いを例で確認しましょう。a=[1,2,3]、b=[4,5] とします。a.append(b) の結果は [1,2,3,[4,5]] になりますが、a.extend(b) の結果は [1,2,3,4,5] になります。
この演習はコースの一部です
Kerasで学ぶMachine Translation
演習の手順
en_textを反復しながら、split()とlen()を使って各文の長さを計算します。numpyを使って文の平均長を計算します。- for ループ本体で、トークン化後の文に含まれるすべての単語を追加して、リスト
all_wordsを作成します。 - リスト
all_wordsをsetオブジェクトに変換し、その長さ(サイズ)を計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Compute length of sentences
sent_lengths = [len(____.____(____)) for en_sent in ____]
# Compute the mean of sentences lengths
mean_length = np.____(____)
print('(English) Mean sentence length: ', mean_length)
all_words = []
for sent in en_text:
# Populate all_words with all the words in sentences
all_words.____(____.____(____))
# Compute the length of the set containing all_words
vocab_size = len(____(____))
print("(English) Vocabulary size: ", vocab_size)