ComeçarComece de graça

Testando o modelo de CNN para Análise de Sentimentos

Agora que o modelo foi treinado, a PyBooks quer verificar seu desempenho em algumas novas resenhas de livros.

Você precisa verificar se o sentimento em uma resenha é positivo ou negativo.

Os seguintes pacotes já foram importados para você: torch, torch.nn como nn, torch.nn.functional como F, torch.optim como optim.

Uma instância de TextClassificationCNN() com os argumentos vocab_size e embed_dim também foi carregada e salva como model.

Este exercício faz parte do curso

Deep Learning para Texto com PyTorch

Ver curso

Instruções do exercício

  • Percorra a lista book_reviews, convertendo as palavras de cada resenha em um tensor.
  • Obtenha a saída do modelo para cada input_tensor.
  • Encontre o índice da categoria de sentimento mais provável a partir de outputs.data.
  • Extraia e converta o item predicted_label em uma string de sentimento, onde 1 é um rótulo "Positive".

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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")
Editar e executar o código