Kiểm thử mô hình CNN phân tích cảm xúc
Giờ mô hình đã được huấn luyện, PyBooks muốn kiểm tra hiệu năng trên một số đánh giá sách mới.
Bạn cần kiểm tra cảm xúc trong một đánh giá là tích cực hay tiêu cực.
Các gói sau đã được import sẵn cho bạn:
torch, torch.nn là nn, torch.nn.functional là F, torch.optim là optim.
Một thể hiện của TextClassificationCNN() với các tham số vocab_size và embed_dim cũng đã được tải và lưu dưới tên model.
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
Hướng dẫn bài tập
- Lặp qua danh sách
book_reviews, chuyển các từ trong mỗi bài đánh giá thành một tensor. - Lấy đầu ra của mô hình cho mỗi
input_tensor. - Tìm chỉ mục của hạng mục cảm xúc có khả năng cao nhất từ
outputs.data. - Trích xuất và chuyển đổi phần tử
predicted_labelthành chuỗi cảm xúc, trong đó1là nhãn "Positive".
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.
book_reviews = [
"I love this book".split(),
"I do not like this book".split()
]
for review in book_reviews:
# Convert the review words into tensor form
input_tensor = ____.____([word_to_ix[w] for w in review], dtype=torch.long).unsqueeze(0)
# Get the model's output
outputs = model(____)
# Find the index of the most likely sentiment category
_, predicted_label = ____.____(outputs.data, 1)
# Convert the predicted label into a sentiment string
sentiment = "Positive" if ____ else "Negative"
print(f"Book Review: {' '.join(review)}")
print(f"Sentiment: {sentiment}\n")