PyTorchでの埋め込み
PyBooks では書籍レコメンドシステムがうまく機能していましたが、テキストに含まれる一部のセマンティクスを考慮できていません。PyTorch の組み込み埋め込みレイヤーは、データから直接、単語同士の関係を学習・表現できます。チームはこの機能を使ってレコメンドを改善できるか検討中です。実装を手伝っていただけますか?
torch と、torch.nn は nn としてインポート済みです。
この演習はコースの一部です
PyTorch で学ぶテキストの Deep Learning
演習の手順
wordsの各単語に一意のインデックスを割り当て、word_to_idxに保存します。word_to_idxを PyTorch のテンソルに変換し、inputsに保存します。torchモジュールを使って、次元数が 10 の埋め込みレイヤーを初期化します。- 埋め込みレイヤーに
inputsテンソルを渡し、出力を確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Map a unique index to each word
words = ["This", "book", "was", "fantastic", "I", "really", "love", "science", "fiction", "but", "the", "protagonist", "was", "rude", "sometimes"]
word_to_idx = {word: ____ for i, word in enumerate(____)}
# Convert word_to_idx to a tensor
inputs = ____.____([word_to_idx[w] for w in words])
# Initialize embedding layer with ten dimensions
embedding = nn.____(num_embeddings=len(words), embedding_dim=____)
# Pass the tensor to the embedding layer
output = embedding(____)
print(output)