Tester le modèle CNN d’analyse de sentiments
Maintenant que le modèle est entraîné, PyBooks souhaite évaluer ses performances sur de nouvelles critiques de livres.
Vous devez vérifier si le sentiment exprimé dans une critique est positif ou négatif.
Les packages suivants ont été importés pour vous :
torch, torch.nn en tant que nn, torch.nn.functional en tant que F, torch.optim en tant que optim.
Une instance de TextClassificationCNN() avec les arguments vocab_size et embed_dim a également été chargée et enregistrée sous le nom model.
Cet exercice fait partie du cours
Deep Learning pour le texte avec PyTorch
Instructions
- Itérez sur la liste
book_reviews, en convertissant 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 de sentiment où1correspond au libellé « Positive ».
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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")