Тестування моделі 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на рядок тональності, де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")