Mettre à l'essai le modèle CNN d'analyse de sentiment
Maintenant que le modèle est entraîné, PyBooks veut vérifier sa performance sur de nouvelles critiques de livres.
Vous devez déterminer si le sentiment d'une critique est positif ou négatif.
Les modules suivants ont été importés pour vous :
torch, torch.nn sous nn, torch.nn.functional sous F, torch.optim sous optim.
Une instance de TextClassificationCNN() avec les arguments vocab_size et embed_dim a aussi été chargée et enregistrée sous model.
Cette activité fait partie du cours
Apprentissage profond pour le texte avec PyTorch
Instructions de l’exercice
- Parcourez la liste
book_reviewset convertissez les mots de chaque critique en un tenseur. - Obtenez la sortie du modèle pour chaque
input_tensor. - Trouvez l'index de la catégorie de sentiment la plus probable à partir de
outputs.data. - Extrayez et convertissez l'élément
predicted_labelen une chaîne correspondant au sentiment où1représente l'étiquette « Positive ».
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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")