CommencezCommencez gratuitement

Créer un modèle CNN pour le texte

PyBooks a mis en place avec succès un moteur de recommandation de livres. Leur prochaine tâche est d'implanter un modèle d'analyse de sentiments pour comprendre les avis des utilisateurs et mieux cerner leurs préférences en matière de livres.

Vous utiliserez un modèle de réseau neuronal convolutif (CNN) pour classifier des données textuelles (critiques de livres) selon leur sentiment.

torch, torch.nn sous le nom nn, et torch.nn.functional sous le nom F ont été chargés pour vous.

Cette activité fait partie du cours

Apprentissage profond pour le texte avec PyTorch

Voir le cours

Instructions de l’exercice

  • Initialisez la couche d'intégration dans la méthode __init__().
  • Appliquez la couche de convolution self.conv au texte embedded dans la méthode forward().
  • Appliquez l'activation ReLU à cette couche dans la méthode forward().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code