เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สร้างโมเดล CNN สำหรับข้อความ

PyBooks สร้างระบบแนะนำหนังสือสำเร็จแล้ว ขั้นตอนต่อไปคือการพัฒนาโมเดล sentiment analysis เพื่อวิเคราะห์รีวิวจากผู้ใช้งานและทำความเข้าใจความต้องการด้านหนังสือ

ในแบบฝึกหัดนี้ จะใช้โมเดล Convolutional Neural Network (CNN) เพื่อจำแนกข้อความ (รีวิวหนังสือ) ตาม sentiment

ได้โหลด torch, torch.nn as nn, และ torch.nn.functional as F ไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning สำหรับข้อความด้วย PyTorch

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดค่าเริ่มต้นให้ embedding layer ใน method __init__()
  • นำ convolutional layer self.conv ไปใช้กับข้อความ embedded ใน method forward()
  • นำ ReLU activation ไปใช้กับ layer นี้ใน method forward()

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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)
แก้ไขและรันโค้ด