Testa CNN-modellen för sentimentanalys
Nu när modellen är tränad vill PyBooks kontrollera hur den presterar på nya bokrecensioner.
Du ska avgöra om sentimentet i en recension är positivt eller negativt.
Följande paket har importerats åt dig:
torch, torch.nn as nn, torch.nn.functional as F, torch.optim as optim.
En instans av TextClassificationCNN() med argumenten vocab_size och embed_dim har också laddats in och sparats som model.
Den här övningen är en del av kursen
Djupinlärning för text med PyTorch
Övningsinstruktioner
- Iterera över listan
book_reviewsoch konvertera orden i varje recension till en tensor. - Hämta modellens utdata för varje
input_tensor. - Hitta indexet för den mest sannolika sentimentkategorin från
outputs.data. - Extrahera och konvertera värdet för
predicted_labeltill en sentimentsträng där1motsvarar etiketten "Positive".
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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")