CommencerCommencer gratuitement

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

Afficher le cours

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_label en une chaîne de sentiment où 1 correspond 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")
Modifier et exécuter le code