Bài viết hay,  Nhật kí coding

Part 8_Sentiment Analysis from Film Reviews | Vietnamese NLP with PhoBERT & Telegram Chatbot

Part 8_Sentiment Analysis from Film Reviews | Vietnamese NLP with PhoBERT & Telegram Chatbot

Phân loại nhị phân Sentiment review phim MoMo

(Tối ưu mô hình cho bài toán thực tế: Tích cực vs Tiêu cực)

Vì sao cần phân loại nhị phân?

Ở các nội dung trước, dự án đã tập trung vào phân loại đa lớp sentiment (tích cực – trung lập – tiêu cực). Tuy nhiên, trong nhiều ứng dụng thực tế như:

  • Hệ thống gợi ý phim

  • Đánh giá nhanh mức độ hài lòng của người dùng

  • Dashboard phân tích phản hồi khách hàng

bài toán thường được đơn giản hóa thành:

Review tích cực hay tiêu cực?

Vì vậy, Notebook 8_binary_classification_FilmMomo.ipynb được xây dựng nhằm:

Chuyển bài toán sentiment từ đa lớp sang phân loại nhị phân, tập trung vào hiệu quả triển khai thực tế.

Vị trí của notebook trong pipeline dự án

Pipeline hoàn chỉnh của dự án:

  1. Scrape dữ liệu review

  2. Làm sạch và chuẩn hóa

  3. Cân bằng dữ liệu

  4. Huấn luyện mô hình ML

  5. Deep Learning CNN + LSTM

  6. Fine-tune PhoBERT

  7. Kiểm tra và đánh giá dữ liệu

  8. Phân loại nhị phân sentiment (Notebook 8) ⬅️

Notebook 8 là bước cuối cùng, biến toàn bộ pipeline nghiên cứu thành một bài toán sẵn sàng triển khai.

Chuyển đổi nhãn sentiment sang nhị phân

Notebook bắt đầu bằng việc:

  • Đọc dataset đã được kiểm tra ở Notebook 7

  • Ánh xạ lại nhãn sentiment:

    • Tích cực → 1

    • Tiêu cực → 0

  • (Có thể loại bỏ hoặc gộp nhãn trung lập tùy mục tiêu)

Việc chuyển đổi này giúp:

  • Đơn giản hóa không gian nhãn

  • Giảm độ phức tạp cho mô hình

  • Tăng độ ổn định trong dự đoán

Chuẩn bị dữ liệu cho mô hình nhị phân

Tương tự các notebook trước, dữ liệu được:

  • Chia train/test

  • Chuẩn hóa định dạng đầu vào

  • Đảm bảo phân phối nhãn hợp lý

Đây là bước quan trọng để đảm bảo:

  • Kết quả đánh giá phản ánh đúng khả năng mô hình

  • Tránh bias về một lớp duy nhất

Huấn luyện mô hình phân loại nhị phân

Notebook tiến hành:

  • Huấn luyện mô hình sentiment nhị phân

  • Sử dụng kiến trúc và kỹ thuật phù hợp với bài toán

  • Theo dõi quá trình hội tụ của mô hình

So với bài toán đa lớp:

  • Mô hình nhị phân thường hội tụ nhanh hơn

  • Dễ tối ưu threshold dự đoán

  • Phù hợp cho các hệ thống realtime

Đánh giá mô hình nhị phân

Các chỉ số được sử dụng bao gồm:

  • Accuracy

  • Precision

  • Recall

  • F1-score

  • Confusion Matrix

Đặc biệt, notebook tập trung phân tích:

  • Khả năng phát hiện đúng review tiêu cực

  • Tỷ lệ false positive / false negative

  • Độ cân bằng giữa Precision và Recall

👉 Đây là các yếu tố then chốt trong các hệ thống đánh giá cảm xúc thực tế.

So sánh với bài toán đa lớp

Qua thực nghiệm, có thể nhận thấy:

  • Phân loại nhị phân cho độ chính xác cao hơn

  • Mô hình ổn định và dễ triển khai

  • Phù hợp với các bài toán ra quyết định nhanh

Tuy nhiên:

  • Bài toán đa lớp vẫn cần thiết khi muốn phân tích sâu sắc cảm xúc người dùng

  • Hai hướng tiếp cận bổ trợ cho nhau, không thay thế hoàn toàn

Ý nghĩa của phân loại nhị phân trong ứng dụng thực tế

Notebook 8_binary_classification_FilmMomo.ipynb giúp dự án:

  • Tiến gần hơn tới triển khai thực tế

  • Tối ưu hóa mô hình cho hệ thống sản xuất

  • Đưa nghiên cứu học thuật vào ứng dụng đời sống

Đây là bước giúp dự án:

Chuyển từ “nghiên cứu” sang “giải pháp”.

Tổng kết toàn bộ series

Qua 8 nội dung, dự án đã xây dựng một pipeline hoàn chỉnh:

  • Từ crawl dữ liệu thực tế

  • Đến xử lý – làm sạch – cân bằng

  • So sánh Machine Learning – Deep Learning – PhoBERT

  • Và kết thúc bằng phân loại nhị phân sẵn sàng triển khai

Series này không chỉ minh họa kỹ thuật Sentiment Analysis, mà còn thể hiện:

  • Tư duy xử lý dữ liệu bài bản

  • Khả năng đánh giá và so sánh mô hình

  • Hướng tiếp cận thực tiễn cho NLP tiếng Việt

📌 Toàn bộ code và notebook của dự án được công khai tại GitHub:

👉 https://github.com/lanhuongsocute/Sentiemt_Analysis_MomoReviewFilm.git

Bạn có thể:

  • Xem chi tiết cách cân bằng dữ liệu

  • Điều chỉnh chiến lược sampling

  • Áp dụng pipeline cho các bài toán NLP tiếng Việt khác

📚 Danh sách các bài blog trong series

  1. Part 1 – Thu thập và tạo dataset từ review phim MoMo
    🔗 https://mimibeoxu.com/2025/12/09/sentiment-analysis-from-film-reviews-vietnamese-nlp-with-phobert-telegram-chatbot/
    Nội dung: Giới thiệu dự án, crawl dữ liệu review, lọc link phim, scrape review và lưu CSV.

  2. Part 2 – Làm sạch và chuẩn hóa dữ liệu review
    🔗 https://mimibeoxu.com/2025/12/26/part-2_sentiment-analysis-from-film-reviews-vietnamese-nlp-with-phobert-telegram-chatbot/
    Nội dung: Xử lý text tiếng Việt: loại bỏ ký tự đặc biệt, chuẩn hóa, chuẩn bị dữ liệu cho mô hình.

  3. Part 3 – Cân bằng dữ liệu sentiment
    🔗 https://mimibeoxu.com/2025/12/26/part-3_sentiment-analysis-from-film-reviews-vietnamese-nlp-with-phobert-telegram-chatbot/
    Nội dung: Phân tích phân phối nhãn, sampling để cân bằng các lớp sentiment.

  4. Part 4 – So sánh mô hình Machine Learning cho Sentiment Analysis
    🔗 https://mimibeoxu.com/2025/12/26/part-4_sentiment-analysis-from-film-reviews-vietnamese-nlp-with-phobert-telegram-chatbot/
    Nội dung: Huấn luyện NB, SVM, Logistic Regression… với TF-IDF; đánh giá accuracy, F1, confusion matrix.

  5. Part 5 – Deep Learning với CNN + LSTM cho dữ liệu review
    🔗 https://mimibeoxu.com/2025/12/26/part-5_sentiment-analysis-from-film-reviews-vietnamese-nlp-with-phobert-telegram-chatbot/
    Nội dung: Xây dựng mô hình CNN + LSTM, embedding layer, huấn luyện và đánh giá.

  6. Part 6 – Fine-tune PhoBERT cho Sentiment Analysis tiếng Việt
    🔗 https://mimibeoxu.com/2025/12/26/part-6_sentiment-analysis-from-film-reviews-vietnamese-nlp-with-phobert-telegram-chatbot/
    Nội dung: Áp dụng PhoBERT pretrained, tokenization, attention mask, classification head, kết quả.

  7. Part 7 – Kiểm tra và đánh giá chất lượng data sau pipeline
    🔗 https://mimibeoxu.com/2025/12/26/part-7_sentiment-analysis-from-film-reviews-vietnamese-nlp-with-phobert-telegram-chatbot/
    Nội dung: Kiểm tra lại dataset cuối cùng, thống kê độ dài, phân phối nhãn, đảm bảo không lỗi.

  8. Part 8 – Phân loại nhị phân sentiment (tích cực vs tiêu cực)
    🔗 https://mimibeoxu.com/2025/12/26/part-8_sentiment-analysis-from-film-reviews-vietnamese-nlp-with-phobert-telegram-chatbot/
    Nội dung: Chuyển bài toán sang binary classification, huấn luyện và đánh giá mô hình phục vụ triển khai thực tế.

Don’t get older. I level up.

Leave a Reply

Your email address will not be published. Required fields are marked *