Das Sentiment-Analyse-CNN-Modell testen
Jetzt, da das Modell trainiert ist, möchte PyBooks seine Leistung an einigen neuen Buchrezensionen prüfen.
Du sollst herausfinden, ob das Sentiment in einer Rezension positiv oder negativ ist.
Die folgenden Pakete wurden bereits für dich importiert:
torch, torch.nn als nn, torch.nn.functional als F, torch.optim als optim.
Eine Instanz von TextClassificationCNN() mit den Argumenten vocab_size und embed_dim wurde ebenfalls geladen und als model gespeichert.
Diese Übung ist Teil des Kurses
Deep Learning für Text mit PyTorch
Anleitung zur Übung
- Iteriere über die Liste
book_reviewsund wandle die Wörter in jeder Rezension in einen Tensor um. - Hole dir die Ausgabe des Modells für jeden
input_tensor. - Finde den Index der wahrscheinlichsten Sentiment-Kategorie aus
outputs.data. - Extrahiere und konvertiere das Element
predicted_labelin einen Sentiment-String, wobei1ein „Positive“-Label ist.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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")