Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Iterera över listan book_reviews och 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_label till en sentimentsträng där 1 motsvarar 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")
Redigera och kör kod