Încorporare (Embedding) în PyTorch
PyBooks a avut succes cu un sistem de recomandare de cărți. Totuși, acesta nu ține cont de unele relații semantice din text. Stratul de încorporare integrat în PyTorch poate învăța și reprezenta relațiile dintre cuvinte direct din date. Echipa ta vrea să exploreze această capabilitate pentru a îmbunătăți sistemul de recomandare. Poți să ajuți la implementare?
torch și torch.nn ca nn au fost deja importate.
Acest exercițiu face parte din cursul
Deep Learning pentru text cu PyTorch
Instrucțiuni pentru exercițiu
- Mapează un index unic pentru fiecare cuvânt din
wordsși salvează rezultatul înword_to_idx. - Convertește
word_to_idxîntr-un tensor PyTorch și salvează-l îninputs. - Inițializează un strat de încorporare folosind modulul
torchcu zece dimensiuni. - Transmite tensorul
inputsstratului de încorporare și analizează rezultatul.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)