Bắt đầu ngayBắt đầu miễn phí

Xây dựng mô hình CNN cho văn bản

PyBooks đã xây dựng thành công một hệ thống gợi ý sách. Nhiệm vụ tiếp theo là triển khai mô hình phân tích cảm xúc để hiểu các bài đánh giá của người dùng và rút ra insight về sở thích sách.

Bạn sẽ dùng mô hình Convolutional Neural Network (CNN) để phân loại dữ liệu văn bản (các đánh giá sách) theo cảm xúc của chúng.

torch, torch.nnnn, và torch.nn.functionalF đã được nạp sẵn cho bạn.

Bài tập này là một phần của khóa học

Deep Learning cho Văn bản với PyTorch

Xem khóa học

Hướng dẫn bài tập

  • Khởi tạo lớp nhúng (embedding layer) trong phương thức __init__().
  • Áp dụng lớp tích chập self.conv lên văn bản embedded trong phương thức forward().
  • Áp dụng hàm kích hoạt ReLU cho lớp này trong phương thức forward().

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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)
Chỉnh sửa và Chạy Mã