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
Instructions de l’exercice
- Initialisez la couche d'intégration dans la méthode
__init__(). - Appliquez la couche de convolution
self.convau texteembeddeddans la méthodeforward(). - 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)