Sestav CNN model pro text
PyBooks úspěšně sestavil engine pro doporučování knih. Dalším úkolem je implementovat model pro analýzu sentimentu, který pomůže porozumět uživatelským recenzím a získat přehled o preferencích čtenářů.
K klasifikaci textových dat (recenzí knih) podle sentimentu použiješ model konvoluční neuronové sítě (CNN).
torch, torch.nn jako nn a torch.nn.functional jako F jsou již načteny.
Toto cvičení je součástí kurzu
Deep Learning for Text with PyTorch
Pokyny k cvičení
- Inicializuj embedding vrstvu v metodě
__init__(). - V metodě
forward()aplikuj konvoluční vrstvuself.convnaembeddedtext. - V metodě
forward()aplikuj na tuto vrstvu aktivační funkci ReLU.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)