CommencerCommencer gratuitement

Construire un modèle CNN pour le texte

PyBooks a conçu avec succès un moteur de recommandation de livres. Leur prochaine étape est de mettre en place un modèle d’analyse de sentiments pour comprendre les avis des utilisateurs et mieux cerner leurs préférences de lecture.

Vous allez utiliser un modèle de réseau de neurones convolutif (CNN) pour classifier des données textuelles (avis 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.

Cet exercice fait partie du cours

Deep Learning pour le texte avec PyTorch

Afficher le cours

Instructions

  • Initialisez la couche d’embedding 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 cet exemple de code.

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