Testowanie modelu CNN do analizy wydźwięku
Model jest już wytrenowany, a PyBooks chce sprawdzić jego działanie na nowych recenzjach książek.
Zadaniem jest określenie, czy wydźwięk recenzji jest pozytywny, czy negatywny.
Następujące pakiety zostały już zaimportowane:
torch, torch.nn jako nn, torch.nn.functional jako F, torch.optim jako optim.
Instancja klasy TextClassificationCNN() z argumentami vocab_size i embed_dim została załadowana i zapisana jako model.
To ćwiczenie jest częścią kursu
Uczenie głębokie dla tekstu z PyTorch
Instrukcje do ćwiczenia
- Przejdź przez listę
book_reviews, konwertując słowa w każdej recenzji na tensor. - Pobierz wynik modelu dla każdego
input_tensor. - Znajdź indeks najbardziej prawdopodobnej kategorii wydźwięku na podstawie
outputs.data. - Wyodrębnij wartość
predicted_labeli przekonwertuj ją na ciąg znaków opisujący wydźwięk, gdzie1oznacza etykietę „Positive".
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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")