Embedding avec PyTorch
PyBooks a obtenu de bons résultats avec un système de recommandation de livres. Toutefois, ce système ne prend pas en compte certaines informations sémantiques présentes dans le texte. La couche d’embedding intégrée de PyTorch peut apprendre et représenter les relations entre les mots directement à partir des données. Votre équipe souhaite explorer cette possibilité pour améliorer le système de recommandation. Pouvez-vous aider à l’implémenter ?
torch et torch.nn sous le nom nn ont été importés pour vous.
Cet exercice fait partie du cours
Deep Learning pour le texte avec PyTorch
Instructions
- Associez un indice unique à chaque mot de
wordset enregistrez-le dansword_to_idx. - Convertissez
word_to_idxen un tenseur PyTorch et enregistrez-le dansinputs. - Initialisez une couche d’embedding à l’aide du module
torchavec dix dimensions. - Transmettez le tenseur
inputsà la couche d’embedding et examinez le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)