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
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_labelem uma string de sentimento, onde1é 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")