ÎncepețiÎncepe gratuit

Construiește un model CNN pentru text

PyBooks a construit cu succes un motor de recomandare de cărți. Următoarea sarcină este să implementeze un model de analiză a sentimentelor, pentru a înțelege recenziile utilizatorilor și a obține informații despre preferințele de lectură.

Vei folosi un model de rețea neuronală convoluțională (CNN) pentru a clasifica date text (recenzii de cărți) în funcție de sentimentul exprimat.

torch, torch.nn cu aliasul nn și torch.nn.functional cu aliasul F au fost deja importate.

Acest exercițiu face parte din cursul

Deep Learning pentru text cu PyTorch

Vezi cursul

Instrucțiuni pentru exercițiu

  • Inițializează stratul de încorporare (embedding) în metoda __init__().
  • Aplică stratul convoluțional self.conv textului embedded în metoda forward().
  • Aplică activarea ReLU acestui strat în metoda forward().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul