ÎncepețiÎncepe gratuit

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

Vezi cursul

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, unde 1 corespunde 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")
Editează și rulează codul