Тестирование CNN-модели анализа тональности текста
Модель обучена, и теперь PyBooks хочет проверить её работу на новых рецензиях к книгам.
Вам нужно определить, является ли тональность каждой рецензии положительной или отрицательной.
Следующие пакеты уже импортированы:
torch, torch.nn как nn, torch.nn.functional как F, torch.optim как optim.
Экземпляр класса TextClassificationCNN() с аргументами vocab_size и embed_dim также загружен и сохранён как model.
Это упражнение является частью курса
Глубокое обучение для работы с текстом на PyTorch
Инструкции к упражнению
- Переберите список
book_reviews, преобразуя слова каждой рецензии в тензор. - Получите выходные данные модели для каждого
input_tensor. - Найдите индекс наиболее вероятной категории тональности из
outputs.data. - Извлеките значение
predicted_labelс помощью метода.item()и преобразуйте его в строку тональности, где1соответствует метке «Positive».
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
book_reviews = [
"I love this book".split(),
"I do not like this book".split()
]
for review in book_reviews:
# Convert the review words into tensor form
input_tensor = ____.____([word_to_ix[w] for w in review], dtype=torch.long).unsqueeze(0)
# Get the model's output
outputs = model(____)
# Find the index of the most likely sentiment category
_, predicted_label = ____.____(outputs.data, 1)
# Convert the predicted label into a sentiment string
sentiment = "Positive" if ____ else "Negative"
print(f"Book Review: {' '.join(review)}")
print(f"Sentiment: {sentiment}\n")