Comece agoraComece grátis

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 exercicio faz parte do curso

Deep Learning para Texto com PyTorch

Ver curso

Instruções do exercicio

  • 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().

exercicio interativo prático

Tente este exercicio 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 Código