CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Parcourez la liste book_reviews et 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_label en une chaîne correspondant au sentiment où 1 repré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")
Modifier et exécuter le code