IniziaInizia gratis

Crea un modello CNN per il testo

PyBooks ha creato con successo un motore di raccomandazione per i libri. Il prossimo compito è implementare un modello di sentiment analysis per comprendere le recensioni degli utenti e ottenere indicazioni sulle preferenze di lettura.

Userai un modello di Convolutional Neural Network (CNN) per classificare i dati testuali (recensioni di libri) in base al loro sentiment.

torch, torch.nn come nn e torch.nn.functional come F sono già stati caricati per te.

Questo esercizio fa parte del corso

Deep Learning per il testo con PyTorch

Visualizza il corso

Istruzioni dell'esercizio

  • Inizializza il livello di embedding nel metodo __init__().
  • Applica il livello convoluzionale self.conv al testo embedded all'interno del metodo forward().
  • Applica l'attivazione ReLU a questo livello all'interno del metodo forward().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

class TextClassificationCNN(nn.Module):
    def __init__(self, vocab_size, embed_dim):
        super(TextClassificationCNN, self).__init__()
        # Initialize the embedding layer 
        self.embedding = ____.____(vocab_size, embed_dim)
        self.conv = nn.Conv1d(embed_dim, embed_dim, kernel_size=3, stride=1, padding=1)
        self.fc = nn.Linear(embed_dim, 2)
    def forward(self, text):
        embedded = self.embedding(text).permute(0, 2, 1)
        # Pass the embedded text through the convolutional layer and apply a ReLU
        conved = ____.____(self.conv(____))
        conved = conved.mean(dim=2) 
        return self.fc(conved)
Modifica ed esegui il codice