НачатьНачать бесплатно

Тестирование 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")
Редактировать и запускать код