Embeddings in PyTorch
PyBooks hatte mit einem Buchempfehlungssystem Erfolg. Allerdings berücksichtigt es einige Bedeutungsaspekte im Text nicht. Die integrierte Embedding-Schicht von PyTorch kann Beziehungen zwischen Wörtern direkt aus Daten lernen und abbilden. Dein Team möchte diese Fähigkeit erkunden, um das Empfehlungssystem zu verbessern. Kannst du bei der Implementierung helfen?
torch und torch.nn als nn wurden bereits für dich importiert.
Diese Übung ist Teil des Kurses
Deep Learning für Text mit PyTorch
Anleitung zur Übung
- Ordne jedem Wort in
wordseinen eindeutigen Index zu und speichere ihn inword_to_idx. - Wandle
word_to_idxin einen PyTorch-Tensor um und speichere ihn ininputs. - Initialisiere eine Embedding-Schicht mit dem Modul
torchmit zehn Dimensionen. - Übergib den Tensor
inputsan die Embedding-Schicht und sieh dir die Ausgabe an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)