Aan de slagGa gratis aan de slag

Het Sentimentanalyse-CNN-model testen

Nu het model is getraind, wil PyBooks de prestaties testen op een paar nieuwe boekrecensies.

Je moet controleren of het sentiment in een recensie positief of negatief is.

De volgende pakketten zijn voor je geïmporteerd: torch, torch.nn als nn, torch.nn.functional als F, torch.optim als optim.

Er is ook een instantie van TextClassificationCNN() met argumenten vocab_size en embed_dim geladen en opgeslagen als model.

Deze oefening maakt deel uit van de cursus

Deep Learning voor tekst met PyTorch

Cursus bekijken

Oefeninstructies

  • Itereer over de lijst book_reviews en zet de woorden in elke recensie om in een tensor.
  • Vraag de output van het model op voor elke input_tensor.
  • Zoek de index van de meest waarschijnlijke sentimentcategorie uit outputs.data.
  • Haal het item predicted_label op en zet het om naar een sentimentstring waarbij 1 een "Positive"-label is.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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")
Code bewerken en uitvoeren