Embedding trong PyTorch
PyBooks đã thành công với hệ thống gợi ý sách, nhưng hệ thống này chưa tính đến một số ngữ nghĩa trong văn bản. Lớp embedding tích hợp sẵn của PyTorch có thể học và biểu diễn mối quan hệ giữa các từ trực tiếp từ dữ liệu. Nhóm của bạn muốn khám phá khả năng này để cải thiện hệ thống gợi ý sách. Bạn có thể giúp triển khai không?
torch và torch.nn dưới bí danh nn đã được import sẵn cho bạn.
Bài tập này là một phần của khóa học
Deep Learning cho Văn bản với PyTorch
Hướng dẫn bài tập
- Ánh xạ một chỉ số duy nhất cho mỗi từ trong
words, lưu vàoword_to_idx. - Chuyển
word_to_idxthành một tensor của PyTorch và lưu vàoinputs. - Khởi tạo một lớp embedding bằng mô-đun
torchvới mười chiều. - Truyền tensor
inputsvào lớp embedding và xem kết quả đầu ra.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)