Kom igångKom igång gratis

Bygg en CNN-modell för text

PyBooks har framgångsrikt byggt en bokrekommen­dationsmotor. Nästa uppgift är att implementera en sentimentanalysmodell för att förstå användarrecensioner och få insikt i bokpreferenser.

Du ska använda en CNN-modell (Convolutional Neural Network) för att klassificera textdata (bokrecensioner) utifrån deras sentiment.

torch, torch.nn as nn och torch.nn.functional as F har redan importerats.

Den här övningen är en del av kursen

Djupinlärning för text med PyTorch

Visa kurs

Övningsinstruktioner

  • Initiera inbäddningslagret (embedding layer) i metoden __init__().
  • Applicera det konvolutionella lagret self.conv på den inbäddade texten embedded i metoden forward().
  • Applicera ReLU-aktiveringen på detta lager i metoden forward().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod