Dự đoán cảm xúc của một bài đánh giá phim
Trong bài trước, bạn đã tạo biểu diễn bag-of-words cho dữ liệu đánh giá phim của tập huấn luyện và tập kiểm tra. Trong bài này, chúng ta sẽ dùng mô hình đó để huấn luyện một bộ phân loại Naive Bayes có thể nhận diện cảm xúc của bài đánh giá phim và tính độ chính xác của nó. Lưu ý: vì đây là bài toán phân loại nhị phân, mô hình chỉ có thể phân loại một bài đánh giá là tích cực (1) hoặc tiêu cực (0). Mô hình không thể phát hiện các đánh giá trung lập.
Nếu bạn chưa nhớ, các vector BoW của tập huấn luyện và tập kiểm tra lần lượt có trong X_train_bow và X_test_bow. Nhãn tương ứng lần lượt có trong y_train và y_test. Ngoài ra, để bạn tham khảo, bộ dữ liệu đánh giá phim gốc có trong df.
Bài tập này là một phần của khóa học
Khai thác đặc trưng cho NLP bằng Python
Hướng dẫn bài tập
- Khởi tạo một đối tượng
MultinomialNB. Đặt tên làclf. - Fit
clfvớiX_train_bowvày_train. - Đo độ chính xác của
clfbằngX_test_bowvày_test.
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.
# Create a MultinomialNB object
clf = ____
# Fit the classifier
clf.____(____, ____)
# Measure the accuracy
accuracy = clf.score(____, ____)
print("The accuracy of the classifier on the test set is %.3f" % accuracy)
# Predict the sentiment of a negative review
review = "The movie was terrible. The music was underwhelming and the acting mediocre."
prediction = clf.predict(vectorizer.transform([review]))[0]
print("The sentiment predicted by the classifier is %i" % (prediction))