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
<Kurs>Deep Learning für Text mit PyTorch</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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)