ComeçarComece de graça

Construa um modelo de CNN para texto

A PyBooks construiu com sucesso um mecanismo de recomendação de livros. A próxima tarefa é implementar um modelo de análise de sentimento para entender as avaliações dos usuários e obter insights sobre preferências de leitura.

Você vai usar um modelo de Rede Neural Convolucional (CNN) para classificar dados de texto (resenhas de livros) com base no sentimento.

torch, torch.nn como nn e torch.nn.functional como F já foram carregados para você.

Este exercício faz parte do curso

Deep Learning para Texto com PyTorch

Ver curso

Instruções do exercício

  • Inicialize a camada de embedding no método __init__().
  • Aplique a camada convolucional self.conv ao texto embedded dentro do método forward().
  • Aplique a ativação ReLU a essa camada dentro do método forward().

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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)
Editar e executar o código