LoslegenKostenlos loslegen

Das Sentiment-Analyse-CNN-Modell testen

Jetzt, da das Modell trainiert ist, möchte PyBooks seine Leistung an einigen neuen Buchrezensionen prüfen.

Du sollst herausfinden, ob das Sentiment in einer Rezension positiv oder negativ ist.

Die folgenden Pakete wurden bereits für dich importiert: torch, torch.nn als nn, torch.nn.functional als F, torch.optim als optim.

Eine Instanz von TextClassificationCNN() mit den Argumenten vocab_size und embed_dim wurde ebenfalls geladen und als model gespeichert.

Diese Übung ist Teil des Kurses

Deep Learning für Text mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Iteriere über die Liste book_reviews und wandle die Wörter in jeder Rezension in einen Tensor um.
  • Hole dir die Ausgabe des Modells für jeden input_tensor.
  • Finde den Index der wahrscheinlichsten Sentiment-Kategorie aus outputs.data.
  • Extrahiere und konvertiere das Element predicted_label in einen Sentiment-String, wobei 1 ein „Positive“-Label ist.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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")
Code bearbeiten und ausführen