Embedding in PyTorch
PyBooks ha avuto successo con un sistema di raccomandazione di libri. Tuttavia, non tiene conto di alcune delle sfumature semantiche presenti nel testo. Il livello di embedding integrato in PyTorch può apprendere e rappresentare la relazione tra le parole direttamente dai dati. Il tuo team è curioso di esplorare questa funzionalità per migliorare il sistema di raccomandazione. Puoi aiutare a implementarla?
torch e torch.nn come nn sono già stati importati per te.
Questo esercizio fa parte del corso
Deep Learning per il testo con PyTorch
Istruzioni dell'esercizio
- Associa un indice univoco a ogni parola in
words, salvandolo inword_to_idx. - Converte
word_to_idxin un tensore PyTorch e salvalo ininputs. - Inizializza un livello di embedding usando il modulo
torchcon dieci dimensioni. - Passa il tensore
inputsal livello di embedding e osserva l’output.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)