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
Oefeninstructies
- Itereer over de lijst
book_reviewsen 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_labelop en zet het om naar een sentimentstring waarbij1een "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")