Testarea modelului CNN de analiză a sentimentelor
Acum că modelul a fost antrenat, PyBooks vrea să îi verifice performanța pe câteva recenzii noi de cărți.
Trebuie să determini dacă sentimentul dintr-o recenzie este pozitiv sau negativ.
Următoarele pachete au fost deja importate:
torch, torch.nn ca nn, torch.nn.functional ca F, torch.optim ca optim.
O instanță a clasei TextClassificationCNN() cu argumentele vocab_size și embed_dim a fost, de asemenea, creată și salvată ca model.
Acest exercițiu face parte din cursul
Deep Learning pentru text cu PyTorch
Instrucțiuni pentru exercițiu
- Iterează prin lista
book_reviews, convertind cuvintele din fiecare recenzie într-un tensor. - Obține rezultatul modelului pentru fiecare
input_tensor. - Găsește indexul celei mai probabile categorii de sentiment din
outputs.data. - Extrage și convertește elementul
predicted_labelîntr-un șir de caractere reprezentând sentimentul, unde1corespunde etichetei „Positive".
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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")