Embedding in PyTorch
PyBooks had succes met een boekaanbevelingssysteem. Maar het houdt geen rekening met sommige semantiek in de tekst. De ingebouwde embeddinglaag van PyTorch kan de relatie tussen woorden rechtstreeks uit data leren en weergeven. Je team is benieuwd naar deze mogelijkheid om het aanbevelingssysteem te verbeteren. Kun jij helpen dit te implementeren?
torch en torch.nn als nn zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Deep Learning voor tekst met PyTorch
Oefeninstructies
- Koppel een unieke index aan elk woord in
wordsen sla dit op inword_to_idx. - Zet
word_to_idxom naar een PyTorch-tensor en sla dit op ininputs. - InitialiseER een embeddinglaag met het
torch-module met tien dimensies. - Geef de tensor
inputsdoor aan de embeddinglaag en bekijk de output.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)