IniziaInizia gratis

Test del modello CNN per l’analisi del sentiment

Ora che il modello è addestrato, PyBooks vuole verificarne le prestazioni su alcune nuove recensioni di libri.

Devi controllare se il sentiment in una recensione è positivo o negativo.

Sono già stati importati i seguenti pacchetti: torch, torch.nn come nn, torch.nn.functional come F, torch.optim come optim.

È stata anche caricata un’istanza di TextClassificationCNN() con argomenti vocab_size ed embed_dim, salvata come model.

Questo esercizio fa parte del corso

Deep Learning per il testo con PyTorch

Visualizza il corso

Istruzioni dell'esercizio

  • Itera sulla lista book_reviews, convertendo le parole di ogni recensione in un tensore.
  • Ottieni l’output del modello per ciascun input_tensor.
  • Trova l’indice della categoria di sentiment più probabile da outputs.data.
  • Estrai e converti l’elemento predicted_label in una stringa di sentiment, dove 1 corrisponde all’etichetta "Positive".

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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")
Modifica ed esegui il codice