Эмбеддинг в PyTorch
Компания PyBooks добилась успеха с системой рекомендации книг. Однако она не учитывает семантику текста. Встроенный слой эмбеддинга (векторного представления) PyTorch позволяет обучаться и отражать связи между словами непосредственно на основе данных. Ваша команда хочет изучить эту возможность, чтобы улучшить систему рекомендаций. Попробуете реализовать её?
torch и torch.nn под псевдонимом nn уже импортированы.
Это упражнение является частью курса
Глубокое обучение для работы с текстом на PyTorch
Инструкции к упражнению
- Сопоставьте каждому слову из
wordsуникальный индекс и сохраните результат вword_to_idx. - Преобразуйте
word_to_idxв тензор PyTorch и сохраните вinputs. - Инициализируйте слой эмбеддинга с помощью модуля
torch, используя десять измерений. - Передайте тензор
inputsв слой эмбеддинга и изучите полученный результат.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)