Embedding no PyTorch
A PyBooks teve sucesso com um sistema de recomendação de livros. No entanto, ele não considera algumas das semânticas presentes no texto. A camada de embedding nativa do PyTorch pode aprender e representar o relacionamento entre palavras diretamente a partir dos dados. Sua equipe quer explorar esse recurso para melhorar o sistema de recomendação de livros. Você pode ajudar a implementá-lo?
torch e torch.nn como nn já foram importados para você.
Este exercício faz parte do curso
Deep Learning para Texto com PyTorch
Instruções do exercício
- Mapeie um índice único para cada palavra em
words, salvando emword_to_idx. - Converta
word_to_idxem um tensor do PyTorch e salve eminputs. - Inicialize uma camada de embedding usando o módulo
torchcom dez dimensões. - Passe o tensor
inputspara a camada de embedding e analise a saída.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)