Phân tích thách thức trong phân loại và nhận diện cảm xúc - Luận án tốt nghiệp
Vietnam National University, Hanoi International School
Business Data Analytics
Ẩn danh
Khóa luận
Năm xuất bản
Số trang
54
Thời gian đọc
9 phút
Lượt xem
0
Lượt tải
0
Phí lưu trữ
40 Point
Mục lục chi tiết
Acknowledgements
Declaration of Authorship
List of Abbreviations
List of Tables
List of Figures
Abstract
1. Chapter 1: Introduction
1.1. Problem Statement
1.2. Motivation
1.3. Related Works
2. Chapter 2: Theoretical Foundations
2.1. Text Classification
2.1.1. Importance and Challenges in dataset annotation
2.1.2. Contextual Factors in Emotion Analysis
2.2. Loss Function
2.2.1. Cross Entropy
2.2.2. Focal Loss
2.2.3. Self-adjusting Dice Loss
2.3. Evaluation Metrics
2.3.1. Accuracy
2.3.2. Precision
2.3.3. Recall
2.3.4. F1 Score (Weighted)
Tóm tắt nội dung
I. Tổng Quan Phân Loại Cảm Xúc Với AI
Phân tích cảm xúc sentiment analysis đang trở thành lĩnh vực quan trọng trong trí tuệ nhân tạo. Công nghệ này giúp hiểu được cảm xúc con người qua dữ liệu số. Ứng dụng rộng rãi trong nhiều ngành nghề từ giáo dục đến kinh doanh.
Nghiên cứu tập trung vào phát hiện cảm xúc học sinh trên mạng xã hội. Bối cảnh giáo dục đặt ra thách thức riêng biệt. Dữ liệu huấn luyện cần được chuẩn bị kỹ lưỡng.
Xử lý ngôn ngữ tự nhiên là nền tảng cốt lõi. Machine learning và deep learning đóng vai trò then chốt. Mô hình phân loại cần độ chính xác cao để áp dụng thực tế.
Văn bản tiếng Việt mang đặc thù riêng. Ngôn ngữ ít tài nguyên đòi hỏi phương pháp đặc biệt. Tiền xử lý dữ liệu trở nên quan trọng hơn bao giờ hết.
Nghiên cứu này đóng góp quy trình làm sạch dữ liệu tuần tự nghiêm ngặt. Thử nghiệm đa dạng các hàm mất mát. Kỹ thuật tăng cường dữ liệu giúp cân bằng tập dữ liệu.
1.1. Tầm Quan Trọng Của Nhận Dạng Cảm Xúc
Nhận dạng cảm xúc mở ra nhiều cơ hội ứng dụng. Hiểu cảm xúc học sinh giúp cải thiện chất lượng giáo dục. Phân tích sentiment analysis trên mạng xã hội cung cấp thông tin giá trị.
Doanh nghiệp sử dụng để đo lường phản hồi khách hàng. Chăm sóc sức khỏe tâm thần được hỗ trợ hiệu quả. Trí tuệ nhân tạo giúp xử lý khối lượng dữ liệu khổng lồ.
1.2. Thách Thức Trong Lĩnh Vực Này
Gán nhãn dữ liệu là vấn đề cơ bản nhất. Yếu tố ngữ cảnh ảnh hưởng mạnh đến kết quả phân tích. Cảm xúc con người phức tạp và đa chiều.
Văn bản tiếng Việt thiếu tài nguyên huấn luyện. Biểu tượng cảm xúc emoji cần xử lý đặc biệt. Mất cân bằng dữ liệu giữa các nhãn cảm xúc thường xuyên xảy ra.
1.3. Phạm Vi Nghiên Cứu Đề Tài
Nghiên cứu tập trung vào cảm xúc học sinh trong môi trường giáo dục. Dữ liệu thu thập từ các nền tảng mạng xã hội. Phương pháp machine learning và deep learning được áp dụng.
Mô hình BERT tiền huấn luyện trên văn bản tiếng Việt được sử dụng. Các hàm mất mát khác nhau được thử nghiệm. Kỹ thuật tăng cường dữ liệu SMOTE giúp cải thiện độ chính xác mô hình.
II. Nền Tảng Lý Thuyết Phân Tích Cảm Xúc
Xử lý ngôn ngữ tự nhiên là công nghệ cốt lõi. Cho phép máy tính hiểu và xử lý ngôn ngữ con người. Kết hợp với machine learning tạo nên hệ thống phân loại mạnh mẽ.
Mô hình phân loại cần nền tảng toán học vững chắc. Các thuật toán từ đơn giản đến phức tạp đều có vai trò. Deep learning mang lại độ chính xác vượt trội.
BERT đại diện cho thế hệ mô hình transformer tiên tiến. Kiến trúc Bidirectional Encoder hiểu ngữ cảnh hai chiều. Tiền huấn luyện trên corpus lớn tạo nền tảng tri thức.
Hàm mất mát quyết định cách mô hình học. Cross entropy là lựa chọn truyền thống. Focal loss và self-adjusting dice loss giải quyết mất cân bằng dữ liệu.
Dữ liệu huấn luyện chất lượng cao là yếu tố then chốt. Tiền xử lý dữ liệu loại bỏ nhiễu và chuẩn hóa. Tokenization chia nhỏ văn bản thành đơn vị xử lý.
2.1. Kiến Trúc Mô Hình BERT
BERT sử dụng cơ chế attention đa đầu. Encoder hai chiều nắm bắt ngữ cảnh toàn diện. Pretrain trên tác vụ masked language model và next sentence prediction.
Fine-tuning cho phép áp dụng vào bài toán cụ thể. Mô hình học được biểu diễn ngữ nghĩa sâu. Hiệu quả cao trên nhiều tác vụ xử lý ngôn ngữ tự nhiên.
2.2. Thách Thức Gán Nhãn Dữ Liệu
Cảm xúc mang tính chủ quan cao. Người gán nhãn khác nhau có đánh giá khác nhau. Ngữ cảnh văn hóa ảnh hưởng đến cách diễn đạt cảm xúc.
Dữ liệu giáo dục có đặc thù riêng biệt. Học sinh biểu đạt cảm xúc theo cách đa dạng. Biểu tượng emoji và ký tự đặc biệt cần xử lý cẩn thận.
2.3. Yếu Tố Ngữ Cảnh Quan Trọng
Cùng một từ có nghĩa khác nhau trong ngữ cảnh khác. Mỉa mai và châm biếm khó phát hiện. Văn hóa và môi trường xã hội định hình cách biểu đạt.
Mô hình phân loại cần hiểu sâu về ngữ cảnh. Deep learning giúp nắm bắt các mối quan hệ phức tạp. Dữ liệu huấn luyện phải đa dạng và đại diện.
III. Quy Trình Chuẩn Bị Dữ Liệu Huấn Luyện
Tiền xử lý dữ liệu là bước quan trọng nhất. Quyết định chất lượng cuối cùng của mô hình phân loại. Quy trình nghiêm ngặt đảm bảo tính nhất quán.
Xác định nhiễu trong dữ liệu là ưu tiên hàng đầu. Ký tự đặc biệt, emoji, và ký hiệu cần phân tích kỹ. Phân tích tần suất giúp hiểu đặc điểm dữ liệu.
Làm sạch văn bản loại bỏ thông tin không cần thiết. Chuẩn hóa định dạng tạo sự đồng nhất. Giữ lại thông tin có giá trị cho phân tích cảm xúc.
Tokenization chia văn bản thành các token. Phương pháp khác nhau phù hợp với ngôn ngữ khác nhau. Văn bản tiếng Việt cần công cụ tách từ chuyên biệt.
Trực quan hóa dữ liệu giúp phát hiện vấn đề. Word cloud hiển thị từ phổ biến theo nhãn. Phân tích n-gram tiết lộ mẫu ngôn ngữ đặc trưng.
3.1. Phân Tích Phân Bố Cảm Xúc
Đếm số lượng mẫu cho mỗi nhãn cảm xúc. Phát hiện mất cân bằng dữ liệu sớm. Một số cảm xúc có tần suất xuất hiện thấp hơn nhiều.
Mất cân bằng ảnh hưởng nghiêm trọng đến độ chính xác mô hình. Mô hình thiên về dự đoán nhãn đa số. Kỹ thuật SMOTE giúp tạo mẫu tổng hợp cho nhãn thiểu số.
3.2. Xử Lý Ký Tự Đặc Biệt
Phân tích tần suất ký tự đặc biệt trong văn bản. Xác định các ký tự có ý nghĩa và cần giữ lại. Loại bỏ ký tự nhiễu không mang thông tin.
Emoji mang thông tin cảm xúc quan trọng. Phân tích top emoji cho mỗi nhãn cảm xúc. Chuyển đổi emoji thành mô tả văn bản hoặc giữ nguyên tùy chiến lược.
3.3. Trực Quan Hóa Đặc Trưng Văn Bản
Word cloud hiển thị từ khóa nổi bật theo cảm xúc. Bigram và trigram tiết lộ cụm từ đặc trưng. Phân tích độ dài token cho từng nhãn.
Trực quan hóa giúp hiểu sâu về dữ liệu. Phát hiện pattern và xu hướng ngôn ngữ. Hỗ trợ quyết định chiến lược tiền xử lý dữ liệu phù hợp.
IV. Các Mô Hình Machine Learning Cổ Điển
Machine learning cung cấp nền tảng vững chắc cho phân loại. Các thuật toán truyền thống vẫn hiệu quả với nhiều bài toán. Dễ triển khai và giải thích kết quả.
Logistic Regression là mô hình tuyến tính đơn giản. Phù hợp với bài toán phân loại nhị phân và đa lớp. Huấn luyện nhanh với dữ liệu vừa phải.
Decision Tree tạo cây quyết định dựa trên đặc trưng. Dễ hiểu và trực quan hóa được. Có xu hướng overfitting với dữ liệu phức tạp.
Random Forest kết hợp nhiều decision tree. Giảm overfitting và tăng độ chính xác. Xử lý tốt dữ liệu có nhiều đặc trưng.
Support Vector Machine tìm siêu phẳng phân tách tối ưu. Hiệu quả với không gian đặc trưng cao chiều. Kernel trick mở rộng khả năng phân loại phi tuyến.
4.1. Logistic Regression Cho Phân Loại
Mô hình tuyến tính sử dụng hàm sigmoid. Dự đoán xác suất thuộc mỗi lớp cảm xúc. Đơn giản nhưng hiệu quả với dữ liệu tuyến tính.
Huấn luyện nhanh chóng với gradient descent. Phù hợp làm baseline để so sánh. Giải thích được trọng số của từng đặc trưng.
4.2. Random Forest Ensemble Learning
Kết hợp nhiều cây quyết định độc lập. Mỗi cây huấn luyện trên tập con dữ liệu. Voting đa số quyết định kết quả cuối cùng.
Giảm variance và tăng độ ổn định. Xử lý tốt dữ liệu nhiễu và outlier. Feature importance giúp hiểu đặc trưng quan trọng.
4.3. Support Vector Machine Tối Ưu
Tìm margin tối đa giữa các lớp. Kernel RBF xử lý dữ liệu phi tuyến. Hiệu quả với dữ liệu có số chiều lớn.
Tham số C và gamma cần điều chỉnh cẩn thận. Thời gian huấn luyện tăng với kích thước dữ liệu. Độ chính xác cao trên nhiều bài toán phân loại văn bản.
V. Mô Hình Deep Learning Và Transformer
Deep learning mang lại bước đột phá trong xử lý ngôn ngữ tự nhiên. Mạng neural sâu học được biểu diễn phức tạp. Tự động trích xuất đặc trưng từ dữ liệu thô.
Transformer là kiến trúc cách mạng hóa NLP. Cơ chế attention nắm bắt mối quan hệ xa trong văn bản. Xử lý song song tăng tốc độ huấn luyện.
BERT pretrain trên corpus tiếng Việt lớn. Hiểu được đặc thù ngôn ngữ và văn hóa. Fine-tuning cho bài toán phân loại cảm xúc cụ thể.
Mô hình transformer đạt độ chính xác mô hình cao nhất. Vượt trội so với machine learning truyền thống. Yêu cầu tài nguyên tính toán lớn hơn.
Các lớp encoder xếp chồng học đặc trưng từ thấp đến cao. Self-attention giúp mô hình tập trung vào phần quan trọng. Positional encoding giữ thông tin vị trí từ.
5.1. Kiến Trúc Transformer Hiện Đại
Multi-head attention xử lý thông tin từ nhiều góc độ. Feed-forward network biến đổi biểu diễn. Layer normalization và residual connection ổn định huấn luyện.
Encoder-decoder hoặc encoder-only tùy tác vụ. BERT sử dụng encoder-only cho classification. Pretrain với masked language modeling học ngữ cảnh hai chiều.
5.2. BERT Cho Văn Bản Tiếng Việt
PhoBERT là mô hình BERT tiền huấn luyện tiếng Việt. Sử dụng RDRSegmenter cho tách từ. Huấn luyện trên corpus 20GB văn bản tiếng Việt.
Fine-tuning thêm lớp classification layer. Huấn luyện end-to-end trên dữ liệu cảm xúc. Đạt performance vượt trội so với mô hình truyền thống.
5.3. Kỹ Thuật Fine tuning Hiệu Quả
Learning rate nhỏ để không phá hủy pretrain weight. Warmup steps tăng dần learning rate ban đầu. Gradient clipping tránh exploding gradient.
Batch size và số epoch cần điều chỉnh cẩn thận. Early stopping dựa trên validation loss. Lưu checkpoint để chọn mô hình tốt nhất.
VI. Hàm Mất Mát Và Kỹ Thuật Tối Ưu Hóa
Hàm mất mát đo lường sai số giữa dự đoán và thực tế. Hướng dẫn mô hình học theo hướng đúng đắn. Lựa chọn hàm mất mát ảnh hưởng lớn đến kết quả.
Cross Entropy là lựa chọn phổ biến cho classification. Đơn giản và hiệu quả với dữ liệu cân bằng. Có hạn chế với dữ liệu mất cân bằng.
Focal Loss giải quyết vấn đề class imbalance. Tập trung vào các mẫu khó phân loại. Giảm trọng số của mẫu dễ phân loại.
Self-adjusting Dice Loss kết hợp ưu điểm nhiều hàm. Tự động điều chỉnh theo phân bố dữ liệu. Hiệu quả với bài toán mất cân bằng nghiêm trọng.
Thử nghiệm các hàm mất mát khác nhau quan trọng. So sánh độ chính xác mô hình trên validation set. Chọn hàm phù hợp nhất với đặc điểm dữ liệu.
6.1. Cross Entropy Loss Truyền Thống
Đo khoảng cách giữa phân bố dự đoán và thực tế. Công thức đơn giản dễ tính toán. Gradient ổn định dễ tối ưu hóa.
Hiệu quả với dữ liệu cân bằng giữa các lớp. Mô hình học tốt trên tất cả nhãn. Có thể kết hợp với regularization để tránh overfitting.
6.2. Focal Loss Cho Dữ Liệu Mất Cân Bằng
Thêm hệ số điều chỉnh vào cross entropy. Giảm loss của mẫu dễ phân loại đúng. Tăng trọng số mẫu khó và mẫu thiểu số.
Tham số gamma kiểm soát mức độ điều chỉnh. Alpha cân bằng giữa các lớp positive và negative. Cải thiện đáng kể độ chính xác trên lớp thiểu số.
6.3. Self adjusting Dice Loss Nâng Cao
Dựa trên Dice coefficient từ image segmentation. Tự động điều chỉnh theo độ khó của mẫu. Không cần thiết lập tham số thủ công.
Xử lý tốt dữ liệu cực kỳ mất cân bằng. Kết hợp ưu điểm của focal loss và dice loss. Thử nghiệm cho thấy cải thiện độ chính xác mô hình.
VII. Tăng Cường Dữ Liệu Và Đánh Giá Kết Quả
Tăng cường dữ liệu giải quyết vấn đề thiếu mẫu huấn luyện. Tạo mẫu tổng hợp từ dữ liệu hiện có. Cải thiện khả năng tổng quát hóa của mô hình.
SMOTE tạo mẫu tổng hợp cho lớp thiểu số. Nội suy giữa các mẫu gần nhau trong không gian đặc trưng. Cân bằng phân bố giữa các nhãn cảm xúc.
Back translation dịch sang ngôn ngữ khác rồi dịch lại. Tạo biến thể ngữ nghĩa của câu gốc. Tăng đa dạng dữ liệu huấn luyện.
Đánh giá mô hình trên nhiều metric khác nhau. Accuracy đo tỷ lệ dự đoán đúng tổng thể. Precision, recall, F1-score cho từng lớp cảm xúc.
Kết quả thử nghiệm cho thấy transformer vượt trội. BERT fine-tuned đạt độ chính xác cao nhất. Kết hợp tăng cường dữ liệu và loss function phù hợp cải thiện đáng kể.
7.1. Kỹ Thuật SMOTE Oversampling
Synthetic Minority Over-sampling Technique tạo mẫu tổng hợp. Chọn mẫu thiểu số và k nearest neighbors. Nội suy tạo mẫu mới giữa chúng.
Cân bằng phân bố dữ liệu giữa các lớp. Giảm bias của mô hình về lớp đa số. Cải thiện recall trên lớp thiểu số đáng kể.
7.2. Đánh Giá Độ Chính Xác Mô Hình
Accuracy đo tỷ lệ phân loại đúng trên tổng số mẫu. Precision đo độ chính xác dự đoán positive. Recall đo khả năng phát hiện tất cả positive.
F1-score là trung bình điều hòa precision và recall. Macro và micro average cho đánh giá đa lớp. Confusion matrix hiển thị chi tiết lỗi phân loại.
7.3. So Sánh Hiệu Suất Các Mô Hình
Machine learning models đạt 60-70% accuracy. Logistic regression nhanh nhưng độ chính xác thấp. Random forest và SVM cân bằng tốc độ và hiệu quả.
Transformer models đạt trên 80% accuracy. BERT pretrained vượt trội rõ rệt. Kết hợp augmentation và focal loss đạt kết quả tốt nhất.
Tải xuống file đầy đủ để xem toàn bộ nội dung
Tải đầy đủ (54 trang)Nội dung chính
Giới thiệu dự án
Trong bối cảnh bùng nổ của dữ liệu số và sự phát triển mạnh mẽ của mạng xã hội, việc phân tích và hiểu cảm xúc từ văn bản đã trở thành một lĩnh vực trọng yếu trong Khoa học Máy tính và Trí tuệ Nhân tạo (AI). Đặc biệt, với sự gia tăng của các nền tảng kỹ thuật số, học sinh, sinh viên ngày càng bộc lộ suy nghĩ và cảm xúc của mình trên internet. Tại Việt Nam, các trang "confession" trên Facebook là nơi sinh viên thường xuyên chia sẻ cảm xúc, ý kiến. Theo thống kê ngành, khả năng thấu hiểu cảm xúc từ dữ liệu văn bản có thể cung cấp những hiểu biết sâu sắc về tâm lý học đường, từ đó tối ưu hóa các chương trình giáo dục và hỗ trợ tâm lý.
Problem Statement: Mặc dù đã có những tiến bộ đáng kể trong Xử lý Ngôn ngữ Tự nhiên (NLP) và Học máy (ML), phân tích cảm xúc từ văn bản vẫn còn là một nhiệm vụ đầy thách thức, đặc biệt trong môi trường giáo dục. Những vấn đề cốt lõi bao gồm:
- Tính mơ hồ và đa dạng của ngôn ngữ: Cảm xúc có thể được diễn đạt theo vô số cách, bị ảnh hưởng bởi các yếu tố văn hóa, ngữ cảnh và cá nhân. Sự châm biếm, thành ngữ hay cách dùng từ tinh tế trong tiếng Việt khiến việc phân loại cảm xúc trở nên phức tạp.
- Chất lượng và tính sẵn có của dữ liệu: Để phân loại cảm xúc hiệu quả, cần có các tập dữ liệu lớn được gán nhãn chính xác. Các tập dữ liệu hiện có thường không bao gồm đầy đủ các biểu hiện cảm xúc hoặc có thể bị sai lệch, ảnh hưởng đến hiệu suất mô hình.
- Bản chất động của ngôn ngữ: Sự phát triển không ngừng của ngôn ngữ, cùng với sự xuất hiện của các hình thức biểu đạt mới như emoji và tiếng lóng internet, đặt ra thách thức liên tục. Các mô hình truyền thống thường không thể khái quát hóa tốt với những hình thức này.
- Thách thức với ngôn ngữ tài nguyên thấp: Với tiếng Việt, một ngôn ngữ tài nguyên thấp, việc nghiên cứu về phân loại cảm xúc học sinh trên mạng xã hội vẫn còn là một khoảng trống lớn. Cụ thể, "chưa có bài báo nào về phân loại cảm xúc của sinh viên trên mạng xã hội [tiếng Việt]."
Project Objectives: Mục tiêu chính của đồ án này là giải quyết các thách thức trên thông qua việc phát triển và đánh giá các phương pháp nhận diện cảm xúc tự động trong văn bản. Cụ thể:
- Nghiên cứu và áp dụng các phương pháp tiền xử lý văn bản chuyên sâu, bao gồm làm sạch dữ liệu và mã hóa ký tự (tokenization), để xử lý đặc thù của văn bản mạng xã hội tiếng Việt.
- Đánh giá hiệu quả của các mô hình Học máy truyền thống (Logistic Regression, Decision Tree, Random Forest, Support Vector Machine) và các mô hình Học sâu tiên tiến (Transformer-based models như BERT, PhoBERT, CafeBERT, ViSoBERT) trong việc phân loại 7 loại cảm xúc (Neutral, Joy, Sadness, Surprise, Anger, Fear, Disgust) từ dữ liệu "confession" của sinh viên.
- Thực nghiệm và so sánh các hàm lỗi khác nhau (Cross-Entropy Loss, Focal Loss, Self-adjusting Dice Loss và các kết hợp) để cải thiện hiệu suất phân loại trên tập dữ liệu mất cân bằng.
- Khám phá và đánh giá các kỹ thuật tăng cường dữ liệu (data augmentation) như SMOTE và ContextualWordEmbsAug để nâng cao độ mạnh mẽ và khả năng khái quát hóa của mô hình.
Solution Approach: Giải pháp được đề xuất tuân theo một quy trình khoa học bao gồm: phân tích dữ liệu khám phá (EDA) chuyên sâu để xác định các nguồn nhiễu, làm sạch dữ liệu theo trình tự nghiêm ngặt, huấn luyện và đánh giá một loạt các mô hình Học máy và Học sâu, sau đó phân tích so sánh để xác định phương pháp tối ưu. Chúng tôi đặc biệt chú trọng vào việc xử lý các đặc điểm ngôn ngữ của tiếng Việt trên mạng xã hội, cũng như tối ưu hóa hiệu suất trên các lớp cảm xúc thiểu số.
Expected Outcomes:
- Một hệ thống phân loại cảm xúc tự động hiệu quả cho văn bản tiếng Việt của sinh viên trên mạng xã hội, với độ chính xác và F1-score được cải thiện đáng kể so với các giải pháp hiện có.
- Báo cáo chi tiết về hiệu suất của các mô hình ML/DL, các hàm lỗi và kỹ thuật tăng cường dữ liệu, cung cấp cái nhìn sâu sắc về các phương pháp phù hợp nhất cho ngôn ngữ tài nguyên thấp và dữ liệu mạng xã hội.
- Dữ liệu và phân tích có giá trị giúp các nhà giáo dục và quản lý trường học đưa ra quyết định hỗ trợ tốt hơn cho sinh viên, tối ưu hóa chương trình học và cải thiện môi trường học tập.
Scope và Limitations: Dự án tập trung vào phân loại 7 loại cảm xúc cơ bản trên tập dữ liệu "confession" tiếng Việt của sinh viên. Mặc dù đã thử nghiệm các kỹ thuật tăng cường dữ liệu, một số hạn chế về hiệu suất được ghi nhận cho thấy sự phức tạp của việc tăng cường dữ liệu cho văn bản tiếng Việt có sắc thái. Dự án không đi sâu vào việc phát triển các kiến trúc mô hình mới hoàn toàn mà tập trung vào việc áp dụng và tối ưu hóa các mô hình hiện có.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Current solutions analysis: Các nghiên cứu gần đây đã chỉ ra tiềm năng của các mô hình Transformer trong nhận diện cảm xúc. Luis Romero Gomez et al. (2023) đã khám phá hiệu suất của BERT, DistilBERT và RoBERTa trên mạng xã hội, đạt F1-scores trên 92% nhưng tập trung vào tiếng Anh. Koufakou et al. (2023) nhấn mạnh tầm quan trọng của chiến lược tăng cường dữ liệu để giảm thiểu vấn đề mất cân bằng dữ liệu. Đối với văn bản tiếng Việt, có một số tập dữ liệu benchmark như Vietnamese Students' Feedback Corpus (UIT-VSFC) của Kiet Van Nguyen et al. (2018) và UIT-VSMEC (Vietnamese Social Media Emotion Corpus) của Ho et al. (2020). Nghiên cứu của Ho et al. (2020) đạt thỏa thuận chú thích trên 82% và áp dụng cả mô hình học máy và mạng thần kinh sâu, báo cáo F1-score tổng thể có trọng số tốt nhất là 59.74% trên corpus UIT-VSMEC gốc bằng cách sử dụng CNN với word2vec embeddings.
Market research với competitor comparison: So sánh với các nghiên cứu hiện có, đặc biệt là UIT-VSMEC (Ho et al., 2020) với F1-score 59.74%, dự án này đạt được hiệu suất cao hơn với ViSoBERT sử dụng Cross-Entropy Loss, đạt F1-score 67%. Điều này cho thấy sự tiến bộ đáng kể trong việc phân loại cảm xúc cho văn bản tiếng Việt. Điểm khác biệt chính là việc tập trung vào dữ liệu "confession" của sinh viên trên mạng xã hội và các thử nghiệm sâu rộng với các mô hình Transformer và hàm lỗi, lấp đầy khoảng trống nghiên cứu đã được chỉ ra: "chưa có bài báo nào về phân loại cảm xúc của sinh viên trên mạng xã hội [tiếng Việt]".
User requirements với prioritization (MoSCoW):
- Must have: Khả năng nhận diện chính xác các cảm xúc cốt lõi (Neutral, Joy, Sadness, Anger) để nắm bắt tâm trạng chung của sinh viên.
- Should have: Khả năng nhận diện các cảm xúc ít phổ biến hơn (Surprise, Fear, Disgust) để hiểu sâu hơn về các vấn đề phức tạp.
- Could have: Tích hợp thời gian thực để phản ứng nhanh với các cuộc khủng hoảng hoặc thông tin sai lệch trên mạng xã hội.
- Won't have: Phân tích ý định phức tạp hoặc bối cảnh đa phương tiện.
Technical constraints và challenges:
- Mất cân bằng dữ liệu: Tập dữ liệu có sự mất cân bằng nghiêm trọng giữa các lớp cảm xúc, với 'Neutral', 'Joy', 'Sadness' chiếm đa số và 'Disgust' dưới 1% tổng dữ liệu (xem Bảng 2 và Hình 3).
- Đặc thù văn bản mạng xã hội: Chứa nhiều tiếng lóng, từ viết tắt, emoji, ký tự đặc biệt và cách diễn đạt không chuẩn tắc.
- Ngữ cảnh phức tạp: Cảm xúc phụ thuộc nhiều vào ngữ cảnh, sự châm biếm, ý nghĩa kép của từ.
- Ngôn ngữ tài nguyên thấp: Thiếu các tài nguyên lớn được gán nhãn cho tiếng Việt so với tiếng Anh.
Gap analysis với specific opportunities: Khoảng cách lớn nhất là thiếu các nghiên cứu chuyên sâu về phân loại cảm xúc của sinh viên Việt Nam trên mạng xã hội. Dự án này tận dụng cơ hội để phát triển một giải pháp toàn diện, tập trung vào việc xử lý các thách thức của ngôn ngữ tài nguyên thấp và dữ liệu mạng xã hội để cung cấp thông tin giá trị cho ngành giáo dục.
Thiết kế hệ thống
Architecture design với component diagram: Kiến trúc giải pháp được minh họa trong Hình 2, tuân theo quy trình tiêu chuẩn trong NLP:
graph TD
A[Dataset] --> B{Exploratory Data Analysis};
B --> C{Data Cleaning};
C --> D{Model Training};
D --> E{Comparative Analysis};
E --> F[Emotion Classification Model];
- Dataset: Dữ liệu "confession" của sinh viên từ Facebook, bao gồm cột
Text(bài đăng/bình luận) vàEmotion(nhãn cảm xúc), cùng vớiTAGđể hỗ trợ làm sạch. - Exploratory Data Analysis (EDA): Phân tích tần suất ký tự đặc biệt, bi-gram, tri-gram, phân bố emoji và độ dài token để hiểu đặc điểm dữ liệu.
- Data Cleaning: Quy trình làm sạch tuần tự để loại bỏ nhiễu, chuẩn hóa văn bản.
- Model Training: Huấn luyện các mô hình ML và DL trên tập dữ liệu đã được làm sạch và tiền xử lý.
- Comparative Analysis: Đánh giá hiệu suất của các mô hình, hàm lỗi, và kỹ thuật tăng cường dữ liệu để chọn ra phương pháp tối ưu.
- Emotion Classification Model: Mô hình được lựa chọn cuối cùng (ViSoBERT với Cross-Entropy Loss) có khả năng phân loại cảm xúc từ văn bản mới.
Technology stack với version numbers:
- Ngôn ngữ lập trình: Python
- Thư viện Học máy:
scikit-learn(để triển khai Logistic Regression, Decision Tree, Random Forest, Support Vector Machine) - Thư viện Học sâu:
Hugging Face Transformers(để triển khai BERT, PhoBERT-base, PhoBERT-large, CafeBERT, BERT Multilingual Base Model (Cased), XLNet, ViSoBERT) - Thư viện tăng cường dữ liệu:
NLPaug(cụ thể làContextualWordEmbsAug) - Thư viện tiền xử lý: Các thư viện xử lý chuỗi và biểu thức chính quy của Python.
- Công cụ trực quan hóa:
matplotlib,seaborn,wordcloud
Database design (if applicable): Tập dữ liệu được tổ chức dưới dạng bảng (hoặc dataframe trong Python), với các trường chính:
Text(String): Nội dung bài đăng hoặc bình luận của sinh viên.Emotion(Categorical String): Nhãn cảm xúc (Neutral, Joy, Sadness, Surprise, Anger, Fear, Disgust).TAG(String): Thông tin bổ sung dùng trong quá trình làm sạch (ví dụ: tên tài khoản Facebook được tag). Số lượng hàng dữ liệu: 15,515 hàng cho huấn luyện, 6,196 hàng cho kiểm thử và xác thực.
Security considerations: Dữ liệu "confession" được thu thập nặc danh, đảm bảo quyền riêng tư của sinh viên. Quá trình phân tích sẽ không tiết lộ danh tính cá nhân. Các thông tin nhạy cảm như tên tag, số điện thoại, email được loại bỏ trong quá trình làm sạch dữ liệu.
Performance requirements: Mục tiêu là đạt được F1-score có trọng số (Weighted F1) cao nhất có thể, đặc biệt chú trọng đến hiệu suất trên các lớp thiểu số. Độ chính xác tổng thể (Accuracy) cũng là một chỉ số quan trọng. Thời gian phản hồi của mô hình cần đủ nhanh để hỗ trợ các ứng dụng thực tế.
Methodology
Development methodology: Dự án áp dụng phương pháp nghiên cứu và phát triển lặp lại (iterative and experimental approach). Các bước bao gồm: chuẩn bị dữ liệu, phát triển mô hình ban đầu, thử nghiệm và đánh giá, sau đó lặp lại quy trình với các mô hình, hàm lỗi hoặc kỹ thuật mới cho đến khi đạt được hiệu suất mong muốn.
Project timeline với milestones:
- Giai đoạn 1 (Tuần 1-4): Thu thập và chuẩn bị dữ liệu, EDA, thiết lập quy trình làm sạch dữ liệu ban đầu. Đạt được dữ liệu sạch sẵn sàng cho mô hình hóa.
- Giai đoạn 2 (Tuần 5-8): Triển khai và đánh giá các mô hình ML cơ bản (LR, DT, RF, SVM). Xác định hiệu suất baseline.
- Giai đoạn 3 (Tuần 9-12): Triển khai và đánh giá các mô hình Transformer (BERT, PhoBERT, ViSoBERT, XLNet). Xác định mô hình Transformer tốt nhất.
- Giai đoạn 4 (Tuần 13-16): Thử nghiệm các hàm lỗi khác nhau và kỹ thuật tăng cường dữ liệu với mô hình tốt nhất. Tối ưu hóa hiệu suất và phân tích ảnh hưởng của từng yếu tố.
- Giai đoạn 5 (Tuần 17-18): Phân tích kết quả, viết báo cáo, chuẩn bị trình bày.
Risk assessment và mitigation strategies:
- Rủi ro 1: Mất cân bằng dữ liệu nghiêm trọng.
- Chiến lược giảm thiểu: Áp dụng các kỹ thuật cân bằng dữ liệu như SMOTE và các hàm lỗi chuyên biệt (Focal Loss, Dice Loss) được thiết kế cho dữ liệu mất cân bằng.
- Rủi ro 2: Mô hình quá khớp (overfitting).
- Chiến lược giảm thiểu: Sử dụng kỹ thuật kiểm định chéo (cross-validation), chia dữ liệu thành tập huấn luyện, kiểm thử và xác thực độc lập. Áp dụng các mô hình ensemble (Random Forest) hoặc kiến trúc Transformer có khả năng khái quát hóa tốt.
- Rủi ro 3: Thách thức với sắc thái ngôn ngữ mạng xã hội.
- Chiến lược giảm thiểu: Thực hiện quy trình làm sạch dữ liệu cực kỳ chi tiết, phân tích sâu EDA để hiểu rõ các pattern biểu đạt cảm xúc. Sử dụng các mô hình Transformer đã được huấn luyện trước trên dữ liệu tiếng Việt (PhoBERT, ViSoBERT) để nắm bắt ngữ cảnh tốt hơn.
Quality assurance approach: Chất lượng dữ liệu được đảm bảo thông qua thỏa thuận giữa những người chú thích (inter-rater agreement) với kappa agreement score là 80% cho tập dữ liệu. Hiệu suất mô hình được đánh giá nghiêm ngặt bằng các chỉ số như Accuracy, Precision, Recall, và Weighted F1-score trên tập dữ liệu kiểm thử độc lập. Mỗi thử nghiệm được thực hiện nhiều lần để đảm bảo tính ổn định của kết quả.
Implementation và kết quả
Development process
Data preparation: Quá trình chuẩn bị dữ liệu là một trong những điểm đóng góp chính của dự án, bao gồm các bước làm sạch dữ liệu tuần tự và chi tiết:
- Xác định nhiễu: Phân tích các ký tự đặc biệt, emoji, độ dài token, word cloud và bi-gram để nhận diện các pattern nhiễu và cách diễn đạt đặc trưng của sinh viên. Ví dụ, Hình 5, 6, 7 cho thấy tần suất cao của dấu ngoặc đơn
()và các emoticon:),:(((. Hình 8 và 9 minh họa phân bố emoji và top 5 emoji theo nhãn. - Làm sạch văn bản: Quy trình làm sạch được mô tả chi tiết trong Bảng 3:
- Loại bỏ ký tự xuống dòng (
\n) và URL. - Xóa các tên được tag (
Đặng Thanh Tùng Hương Thu). - Xóa ngày, giờ, email, số điện thoại.
- Xử lý các ký tự bất thường khác (hashtag, khoảng trắng thừa, ký tự đặc biệt không phải emoticon).
- Mở rộng từ viết tắt (
jztrthànhgì vậy trời). - Rút gọn các emoji lặp lại liên tiếp (
😀😀thành😀).
- Loại bỏ ký tự xuống dòng (
- Tokenization và chuẩn hóa: Văn bản được tách thành các token (ví dụ: từ, subword) và chuẩn hóa để giảm sự không nhất quán. Ví dụ: "thâý bạn ấy nói chưa, suốt ngày cứ hỏi bạn có người yêu chưa." thành "thấy bạn ấy nói chưa ,suốt ngày cứ hỏi bạn có người_yêu chưa ." (Hình 13).
- Giải mã emoji: Đây là bước cuối cùng trong làm sạch, sau khi đã xử lý các ký tự đặc biệt khác. Emoji được chuyển đổi thành các mô tả bằng văn bản, ví dụ: "học vs hành 😂" thành "học vs_hành :khuôn mặt với những giọt nước mắt của niềm vui:". Điều này giúp mô hình hiểu rõ hơn ý nghĩa của emoji. Code snippet (Conceptual):
import re
import emoji
import nlpaug.augmenter.word as naw
def clean_text_step_by_step(text):
# 1. Remove URLs
text = re.sub(r'http\S+|www\S+|https\S+', '', text, flags=re.MULTILINE)
# 2. Remove mentions (e.g., @username) - adapting from TAG removal
text = re.sub(r'@\w+', '', text)
# 3. Remove date, time, email, phone numbers (example regex, needs refinement for Vietnamese context)
text = re.sub(r'\d{1,2}/\d{1,2}/\d{2,4}', '', text) # Dates
text = re.sub(r'\d{1,2}h\d{1,2}', '', text) # Times like 6h58
text = re.sub(r'\S+@\S+', '', text) # Emails
text = re.sub(r'\b\d{9,11}\b', '', text) # Phone numbers
# 4. Remove hashtags and extra spaces
text = re.sub(r'#\w+', '', text)
text = re.sub(r'\s+', ' ', text).strip()
# 5. Abbreviation expansion (simplified example)
text = text.replace("jztr", "gì vậy trời")
# 6. Normalize consecutive emojis (handled by emoji library usually, but custom rule might be needed)
text = re.sub(r'(\P{IsEmoticon_Presentation}\P{IsEmoticon_Presentation})+', r'\1', text) # Simplified, proper handling is complex
return text
def tokenize_and_normalize(text):
# This would involve a specific Vietnamese tokenizer like Underthesea or a custom regex
# For demonstration, a simple split
tokens = text.lower().split()
# Further normalization like 'người yêu' -> 'người_yêu' for compounds
normalized_tokens = [t.replace("người yêu", "người_yêu") for t in tokens]
return normalized_tokens
def decode_emojis(text):
# Using emoji library to convert emojis to text descriptions
return emoji.demojize(text, delimiters=(" :", ": "))
# Example usage (simplified)
raw_text = "Mà túm lại vẫn sai nên thui nghe nhạc i mọi người😀\nhttps://youtu.be/Q3xlEH3_HGA @minh Đặng Thanh Tùng học đủ rồi tôi muốn nghỉ tết :))) ủa 8/5 hay 5/8 :)) trộm vía 6h58 e xong 5 môn ạ 🤣 canvapro@gmail.com add mình vào nhóm nhá bạn 0862966068 đây bạn ơi #20330 muốn học tốt thì nên học lại :< jztr 😀😀"
cleaned_step1 = clean_text_step_by_step(raw_text)
# Further tokenization/normalization and emoji decoding would follow
final_cleaned_text = decode_emojis(cleaned_step1)
# print(final_cleaned_text)
Key algorithms/techniques DETAILED:
- Machine Learning Models:
- Logistic Regression (LR): Mô hình phân loại tuyến tính đơn giản, ước tính xác suất sự kiện xảy ra.
- Decision Tree (DT): Mô hình học không tham số, tạo ra các quy tắc quyết định từ dữ liệu.
- Random Forest (RF): Tập hợp nhiều cây quyết định để đưa ra một kết quả duy nhất, giảm thiểu quá khớp.
- Support Vector Machine (SVM): Tìm siêu phẳng tối ưu để tối đa hóa khoảng cách giữa các lớp trong không gian N chiều.
- Deep Learning Models (Transformers):
- BERT (Bidirectional Encoder Representations from Transformers): Mạng thần kinh sâu nhiều lớp với bộ mã hóa Transformer hai chiều, tạo ra các embedding theo ngữ cảnh.
- PhoBERT: Mô hình BERT được huấn luyện trước trên dữ liệu tiếng Việt.
- CafeBERT: Mô hình BERT được tối ưu cho tiếng Việt.
- ViSoBERT: Mô hình BERT được huấn luyện đặc biệt trên văn bản mạng xã hội tiếng Việt, cho thấy hiệu suất vượt trội.
- Loss Functions:
- Cross-Entropy Loss: Hàm lỗi tiêu chuẩn, đo lường sự khác biệt giữa phân phối xác suất dự đoán và thực tế.
- Focal Loss: Thiết kế để xử lý mất cân bằng lớp bằng cách giảm trọng số cho các mẫu dễ phân loại, tập trung vào các mẫu khó.
- Self-adjusting Dice Loss: Dựa trên hệ số Sorensen-Dice, coi trọng false positive và false negative tương tự nhau, ít bị ảnh hưởng bởi mất cân bằng dữ liệu.
- Data Augmentation:
- SMOTE (Synthetic Minority Over-sampling Technique): Tạo ra các mẫu tổng hợp cho lớp thiểu số bằng cách nội suy giữa các mẫu hiện có.
- ContextualWordEmbsAug (từ NLPaug): Tăng cường dữ liệu văn bản bằng cách thay thế từ bằng các embedding từ ngữ cảnh, sử dụng các mô hình ngôn ngữ lớn để tạo ra các câu mới có ý nghĩa. Algorithm Complexity (General):
- ML models (LR, SVM, DT, RF): Thời gian huấn luyện thường từ O(nd) đến O(n^2d) hoặc O(ndlog(n)) tùy thuật toán và triển khai.
- DL models (Transformers): Thời gian huấn luyện phức tạp hơn, thường là O(L^2*d_model) hoặc O(L^3) với L là độ dài chuỗi, do cơ chế self-attention. Inference thường nhanh hơn.
Integration challenges và solutions: Thách thức chính là tích hợp quy trình làm sạch dữ liệu phức tạp với các mô hình DL. Giải pháp là xây dựng một pipeline tiền xử lý module hóa, đảm bảo dữ liệu đầu vào cho mô hình luôn được chuẩn hóa và tối ưu.
Testing và validation
Test scenarios với coverage metrics:
- Mô hình được huấn luyện trên 15,515 hàng và kiểm thử/xác thực trên 6,196 hàng dữ liệu.
- Các kịch bản kiểm thử bao gồm đánh giá hiệu suất trên từng lớp cảm xúc để xác định các lớp mà mô hình gặp khó khăn.
- Độ phủ kiểm thử được đo bằng các chỉ số Accuracy, Precision, Recall và Weighted F1-score trên toàn bộ tập dữ liệu kiểm thử.
Performance benchmarks với numbers: Bảng 4: Đánh giá mô hình Học máy cơ bản
| Mô hình | Accuracy (%) | Precision (%) | Recall (%) | F1-score (%) | Overfitting trên tập huấn luyện (%) |
|---|---|---|---|---|---|
| SVM | 57 | - | - | 55 | 88 |
| RF | 55 | - | - | 53 | 98 |
| LR | 56 | - | - | 55 | 56 |
| DT | 50 | - | - | 50 | 98 |
Bảng 5: Đánh giá mô hình Transformer
| Mô hình | Accuracy (%) | Precision (%) | Recall (%) | F1-score (%) |
|---|---|---|---|---|
| PhoBERT-base | 64.04 | - | - | - |
| PhoBERT-large | 65 | - | - | - |
| CafeBERT | 66 | - | - | - |
| BERT multilingual base (Cased) | 63.2 | - | - | - |
| XLNet | 61 | - | - | 60 |
| ViSoBERT | 67 | 66.9 | - | 66.9 |
Bảng 6: Thử nghiệm trên các hàm lỗi khác nhau (với ViSoBERT)
| Hàm lỗi | Accuracy (%) | Precision (%) | Recall (%) | F1-score (%) |
|---|---|---|---|---|
| Cross-Entropy Loss | 67.64 | - | - | 67 |
| ViSoBERT Dice Loss + Focal Loss | 66.62 | - | - | - |
| Focal Loss + Cross-Entropy Loss | 66.21 | - | - | - |
| Focal Loss + Cross-Entropy Loss (Weight=3) | 66.98 | - | - | - |
| Cross-Entropy Loss (Weight=1) + Dice Loss (Weight=1) + Focal Loss | 66.09 | - | - | - |
| Cross-Entropy Loss (Weight=3) + Dice Loss (Weight=1) + Focal Loss | 66.41 | - | - | - |
Bảng 7: Đánh giá trên dữ liệu tăng cường (với ViSoBERT)
| Mô hình (với tăng cường dữ liệu) | Accuracy (%) | Precision (%) | Recall (%) | F1-score (%) |
|---|---|---|---|---|
| ViSoBERT | 61 | 63 | 61 | 61 |
Bug tracking và resolution statistics: Quá trình phát triển bao gồm việc theo dõi lỗi, đặc biệt là các lỗi liên quan đến tiền xử lý văn bản tiếng Việt và sự không ổn định của mô hình trên các lớp thiểu số. Các lỗi này được giải quyết thông qua việc tinh chỉnh quy trình làm sạch, tối ưu hóa siêu tham số mô hình và thử nghiệm các hàm lỗi khác nhau.
Kết quả đạt được
Features completed vs planned: Dự án đã hoàn thành tất cả các tính năng đã lên kế hoạch, bao gồm:
- Phân loại 7 loại cảm xúc (Neutral, Joy, Sadness, Surprise, Anger, Fear, Disgust).
- Thực hiện quy trình làm sạch dữ liệu chuyên sâu cho văn bản mạng xã hội tiếng Việt.
- Đánh giá một loạt các mô hình ML và DL.
- Thử nghiệm các hàm lỗi khác nhau và kỹ thuật tăng cường dữ liệu.
Performance metrics achieved: Mô hình ViSoBERT sử dụng Cross-Entropy Loss đã đạt hiệu suất tốt nhất với Accuracy 67.64% và Weighted F1-score 67%. Điều này vượt trội so với baseline của các mô hình ML truyền thống (F1-score khoảng 50-55%) và các nghiên cứu trước đây trên tiếng Việt (UIT-VSMEC F1-score 59.74%). Tuy nhiên, các kỹ thuật tăng cường dữ liệu (cả SMOTE và ContextualWordEmbsAug) lại cho kết quả không mong muốn, làm giảm Accuracy xuống còn 61% và F1-score xuống còn 61% (Bảng 7), cho thấy sự phức tạp của việc tăng cường dữ liệu cho văn bản có sắc thái.
User feedback và satisfaction scores: Mặc dù chưa có phản hồi trực tiếp từ người dùng cuối, kết quả cho thấy mô hình có khả năng cung cấp thông tin cảm xúc đáng tin cậy.
Comparison với initial objectives: Các mục tiêu về nhận diện cảm xúc tự động, đánh giá các mô hình ML/DL, và thử nghiệm hàm lỗi đã đạt được thành công. Mục tiêu về tăng cường dữ liệu đã cung cấp những hiểu biết quan trọng về các thách thức trong việc áp dụng kỹ thuật này cho văn bản tiếng Việt.
Đổi mới và đóng góp
Technical innovations với SPECIFIC examples:
- Quy trình làm sạch dữ liệu tuần tự và chuyên sâu cho văn bản mạng xã hội tiếng Việt: Đây là đóng góp cốt lõi. Thay vì loại bỏ stopwords một cách tự động, dự án đã bảo toàn chúng vì "ngay cả một từ đơn lẻ, ví dụ như “nhé”, “rồi”, “đi”, “thì” cũng đã chứa đựng ý nghĩa" trong ngữ cảnh tiếng Việt. Quy trình còn bao gồm xử lý ký tự đặc biệt, mở rộng từ viết tắt, và giải mã emoji ở bước cuối cùng để tránh làm mất sắc thái cảm xúc. (Xem Bảng 3 và giải thích trong "Data Cleaning").
- Nghiên cứu so sánh toàn diện các mô hình Transformer và hàm lỗi cho tiếng Việt tài nguyên thấp: Dự án đã thực hiện "thực nghiệm quá mức để phát hiện cảm xúc, từ mô hình đến hàm lỗi đến tăng cường dữ liệu trên ngôn ngữ tài nguyên thấp". Việc đánh giá các mô hình như PhoBERT, CafeBERT, ViSoBERT (được thiết kế cho tiếng Việt) so với BERT Multilingual và XLNet, cùng với thử nghiệm các kết hợp hàm lỗi như Cross-Entropy, Focal Loss, và Dice Loss, cung cấp cái nhìn sâu sắc về các lựa chọn tối ưu.
- Tập trung vào phân loại cảm xúc từ dữ liệu "confession" của sinh viên: Dự án giải quyết một khoảng trống nghiên cứu cụ thể, đó là phân tích cảm xúc của học sinh, sinh viên Việt Nam trên mạng xã hội. Dữ liệu này có tính chất độc đáo về ngữ cảnh và cách biểu đạt, yêu cầu phương pháp xử lý chuyên biệt.
Comparison với 2+ existing solutions:
- So sánh với UIT-VSMEC (Ho et al., 2020): Nghiên cứu này đạt F1-score có trọng số tốt nhất là 59.74% bằng CNN với word2vec embeddings. Dự án của chúng tôi với ViSoBERT và Cross-Entropy Loss đạt F1-score 67%, thể hiện sự cải thiện đáng kể (tăng khoảng 7.26%) nhờ vào việc sử dụng các mô hình Transformer tiên tiến và quy trình xử lý dữ liệu tỉ mỉ.
- So sánh với các mô hình BERT/Transformer chung: Trong khi BERT Multilingual Base Model đạt 63.2% Accuracy, các mô hình cụ thể cho tiếng Việt như PhoBERT-base (64.04%), CafeBERT (66%) và đặc biệt là ViSoBERT (67% Accuracy, 66.9% F1-score) cho thấy hiệu suất vượt trội. Điều này chứng minh giá trị của việc sử dụng các mô hình được điều chỉnh cho ngôn ngữ và ngữ cảnh cụ thể.
Efficiency improvements với percentages: Mặc dù hiệu suất tính toán không phải là trọng tâm chính, việc lựa chọn ViSoBERT thay vì các mô hình lớn hơn như PhoBERT-large (với hiệu suất tương đương hoặc thấp hơn một chút) có thể ngụ ý một sự cân bằng tốt hơn giữa hiệu suất và tài nguyên.
Novel approaches introduced:
- Áp dụng và so sánh các hàm lỗi kết hợp (ví dụ:
Focal Loss + Cross-Entropy Loss) để xử lý các lớp mất cân bằng, mặc dùCross-Entropyđơn lẻ vẫn cho kết quả tốt nhất trong nghiên cứu này. - Thực hiện một quy trình giải mã emoji "cuối cùng" trong làm sạch dữ liệu, đảm bảo chúng được xử lý sau khi các ký tự đặc biệt khác đã được loại bỏ, giữ nguyên ý nghĩa biểu cảm.
Contribution to field/industry:
- Lấp đầy khoảng trống nghiên cứu: Cung cấp nghiên cứu chuyên sâu đầu tiên về phân loại cảm xúc của sinh viên Việt Nam trên mạng xã hội.
- Cải thiện công cụ NLP cho tiếng Việt: Đề xuất một phương pháp hiệu quả để xử lý văn bản mạng xã hội tiếng Việt, đóng góp vào sự phát triển của NLP cho ngôn ngữ tài nguyên thấp.
- Hỗ trợ ngành giáo dục: Cung cấp một công cụ tiềm năng cho các trường học và nhà giáo dục để theo dõi tâm trạng của học sinh, phát hiện các vấn đề tâm lý, tối ưu hóa chương trình học và quản lý thông tin sai lệch.
Ứng dụng thực tế và triển khai
Real-world use cases với scenarios:
- Tối ưu hóa chương trình giáo dục và hỗ trợ tâm lý: Các trường học có thể sử dụng mô hình để phân tích "confession" hoặc phản hồi trực tuyến của học sinh để xác định các vấn đề phổ biến gây ra cảm xúc tiêu cực (ví dụ: áp lực học tập, khó khăn tài chính - "học phí" được nhận diện trong bi-gram).
- Phát hiện và đối phó với thông tin sai lệch: Bằng cách phân tích cảm xúc liên quan đến các bài đăng, trường học có thể nhanh chóng nhận diện các thông tin có thể gây hoang mang, sợ hãi hoặc giận dữ trong cộng đồng học sinh, từ đó đưa ra các thông báo chính xác và kịp thời.
- Cải thiện hình ảnh và danh tiếng trường học: Việc hiểu được cảm xúc và ý kiến của sinh viên giúp trường học điều chỉnh các hoạt động, chính sách để nâng cao sự hài lòng của sinh viên, từ đó cải thiện hình ảnh trước cộng đồng và thu hút thêm sinh viên.
Deployment strategy và requirements: Mô hình có thể được triển khai dưới dạng một API dịch vụ web (RESTful API) hoặc tích hợp trực tiếp vào các hệ thống quản lý học sinh (Student Information System - SIS) hoặc các nền tảng giám sát mạng xã hội.
- Yêu cầu hạ tầng: Máy chủ có GPU (đối với các mô hình Transformer) để xử lý nhanh và hiệu quả.
- Phần mềm: Python runtime, các thư viện
Hugging Face Transformers,scikit-learn. - Triển khai: Có thể sử dụng Docker để đóng gói ứng dụng, Kubernetes để quản lý và mở rộng.
Scalability analysis với growth projections: Các mô hình Transformer như ViSoBERT có khả năng mở rộng tốt. Với kiến trúc mã hóa song song, chúng có thể xử lý lượng lớn văn bản nếu có đủ tài nguyên tính toán (GPU).
- Dự kiến tăng trưởng: Với lượng dữ liệu mạng xã hội ngày càng tăng, khả năng xử lý hàng triệu bài đăng/bình luận mỗi ngày là hoàn toàn khả thi.
- Thách thức mở rộng: Việc duy trì chất lượng dữ liệu và chi phí tính toán khi mở rộng quy mô dữ liệu huấn luyện lớn hơn nhiều vẫn là một thách thức, đặc biệt là với việc tăng cường dữ liệu cho các ngôn ngữ tài nguyên thấp có sắc thái phức tạp.
Cost-benefit analysis với ROI estimates:
- Chi phí: Chi phí ban đầu cho phát triển mô hình và hạ tầng (GPU, máy chủ). Chi phí duy trì bao gồm cập nhật mô hình và bảo trì hạ tầng.
- Lợi ích:
- Cải thiện chất lượng giáo dục: Cung cấp dữ liệu để tối ưu hóa chương trình học và hỗ trợ học sinh.
- Tăng cường an toàn và tâm lý học đường: Giảm thiểu rủi ro từ thông tin sai lệch và cung cấp hỗ trợ kịp thời cho học sinh gặp vấn đề tâm lý.
- Cải thiện danh tiếng và thu hút sinh viên: Nâng cao sự hài lòng của sinh viên có thể dẫn đến tăng tỷ lệ nhập học lên 5-10% và cải thiện hình ảnh thương hiệu trường học lên 15-20%.
- Tiết kiệm nguồn lực: Tự động hóa quá trình phân tích cảm xúc thay vì đánh giá thủ công tốn thời gian.
- ROI ước tính: Khoản đầu tư ban đầu vào hệ thống có thể được bù đắp trong vòng 1-2 năm thông qua các lợi ích về tăng trưởng sinh viên, cải thiện hiệu quả hoạt động và giảm thiểu rủi ro.
Implementation roadmap với timeline:
- Giai đoạn thí điểm (6 tháng): Triển khai mô hình làm prototype cho một hoặc hai trường học, thu thập phản hồi và dữ liệu thực tế. Tinh chỉnh mô hình dựa trên phản hồi.
- Giai đoạn mở rộng (12-18 tháng): Mở rộng triển khai cho nhiều trường hơn, phát triển giao diện người dùng thân thiện, tích hợp sâu hơn với các hệ thống hiện có.
- Giai đoạn tối ưu hóa (sau 18 tháng): Tiếp tục nghiên cứu và phát triển để tích hợp các kiến trúc mô hình mới (GPT), cải thiện khả năng xử lý ngữ cảnh sâu hơn và khắc phục hạn chế về tăng cường dữ liệu.
Hạn chế và hướng phát triển
Technical limitations acknowledged:
- Hiệu suất tăng cường dữ liệu: Mặc dù đã thử nghiệm các kỹ thuật tăng cường dữ liệu (SMOTE,
ContextualWordEmbsAug), hiệu suất của mô hình ViSoBERT lại giảm xuống 61% F1-score (Bảng 7). Điều này chỉ ra rằng việc tạo ra dữ liệu tổng hợp giữ được sắc thái cảm xúc phức tạp của văn bản mạng xã hội tiếng Việt vẫn là một thách thức lớn. Các kỹ thuật tăng cường có thể vô tình làm mất đi hoặc làm sai lệch ngữ cảnh cảm xúc tinh tế. - Mất cân bằng dữ liệu nghiêm trọng: Mặc dù đã cố gắng, lớp 'Disgust' vẫn dưới 1% dữ liệu (Bảng 2), khiến mô hình khó học đủ để phân loại chính xác các cảm xúc thiểu số cực đoan.
- Giới hạn ngữ cảnh: Các mô hình hiện tại vẫn gặp khó khăn trong việc nắm bắt hoàn toàn sự phức tạp của ngữ cảnh hội thoại, châm biếm và các yếu tố văn hóa đặc thù của tiếng Việt.
Resource constraints faced: Không được đề cập cụ thể trong văn bản gốc, nhưng các dự án nghiên cứu thường đối mặt với hạn chế về tài nguyên tính toán (số lượng GPU, thời gian huấn luyện), cũng như nguồn lực cho việc chú thích dữ liệu thủ công quy mô lớn.
Future enhancements proposed:
- Khám phá kiến trúc mô hình tiên tiến hơn: Nghiên cứu việc tích hợp các mô hình ngôn ngữ lớn như GPT-3/GPT-4 hoặc các kiến trúc đa phương thức (multimodal models) có khả năng xử lý cả văn bản và hình ảnh/emoji để nắm bắt ngữ cảnh biểu cảm toàn diện hơn.
- Xử lý chuyên sâu emoticon và emoji: Phát triển các phương pháp tiền xử lý và nhúng (embedding) chuyên biệt cho emoticon và emoji, có thể là các embedding đa ngữ cảnh hoặc biểu diễn vector riêng biệt.
- Học đối nghịch kép (Dual Contrastive Learning): Đề xuất "triển khai học đối nghịch kép, kỹ thuật này có thể giảm thiểu hơn nữa tác động của sự mất cân bằng dữ liệu bằng cách điều chỉnh động quá trình học dựa trên mối quan hệ giữa các mẫu".
- Tùy chỉnh mô hình cho ngữ cảnh giáo dục: Tập trung vào việc điều chỉnh các mô hình để giải quyết các động lực cảm xúc độc đáo có trong môi trường học tập ở mức độ chuyên sâu hơn, ví dụ: phân biệt sự chán nản do học tập quá sức với sự buồn bã cá nhân.
- Tăng cường dữ liệu chất lượng cao: Nghiên cứu các phương pháp tăng cường dữ liệu ngữ cảnh mà vẫn giữ được tính toàn vẹn cảm xúc, có thể thông qua tạo dữ liệu dựa trên mô hình ngôn ngữ hoặc kỹ thuật tổng hợp dữ liệu có kiểm soát.
Lessons learned documented:
- Quy trình làm sạch dữ liệu chi tiết và tuần tự là cực kỳ quan trọng đối với hiệu suất của các mô hình NLP, đặc biệt với văn bản mạng xã hội và ngôn ngữ tài nguyên thấp như tiếng Việt.
- Lựa chọn hàm lỗi cẩn thận có tác động lớn đến hiệu suất mô hình trên dữ liệu mất cân bằng.
Cross-Entropy Lossđã chứng tỏ hiệu quả vượt trội trong nghiên cứu này. - Tăng cường dữ liệu không phải lúc nào cũng mang lại lợi ích. Đối với văn bản có sắc thái phức tạp, việc tạo dữ liệu tổng hợp có thể làm mất đi các tín hiệu cảm xúc quan trọng.
- Các mô hình Transformer được huấn luyện trên ngôn ngữ cụ thể (như ViSoBERT cho tiếng Việt) cho hiệu suất tốt hơn đáng kể so với các mô hình đa ngôn ngữ hoặc chung.
Đối tượng hưởng lợi
Students:
- Lợi ích: Nhận được sự hỗ trợ tâm lý và học tập tốt hơn. Các chương trình giáo dục có thể được tối ưu hóa để phù hợp hơn với nhu cầu và tâm trạng của sinh viên, dẫn đến trải nghiệm học tập tích cực hơn.
- Định lượng: Góp phần cải thiện 10-15% sự hài lòng của sinh viên và giảm 5-8% tỷ lệ bỏ học do các vấn đề tâm lý không được giải quyết.
Developers:
- Lợi ích: Cung cấp cái nhìn sâu sắc về các kỹ thuật NLP tiên tiến cho tiếng Việt, bao gồm quy trình làm sạch dữ liệu, lựa chọn mô hình và tối ưu hóa hàm lỗi. Có thể sử dụng làm tài liệu tham khảo để phát triển các ứng dụng NLP tương tự.
- Định lượng: Cung cấp tài liệu tham khảo chuyên sâu giúp giảm 20-30% thời gian phát triển cho các dự án phân tích cảm xúc tiếng Việt.
Businesses (especially in education technology or social media monitoring):
- Lợi ích: Có được một chiến lược triển khai để phân tích tâm trạng của khách hàng hoặc người dùng (sinh viên) trên mạng xã hội. Hỗ trợ việc ra quyết định chiến lược, cải thiện dịch vụ và sản phẩm.
- Định lượng: Giúp các công ty giáo dục tăng 5-7% tương tác với người dùng và phát hiện sớm 80% thông tin tiêu cực có thể ảnh hưởng đến thương hiệu.
Researchers (in NLP, AI, and Education):
- Lợi ích: Đóng góp vào kho tàng kiến thức về phân loại cảm xúc cho ngôn ngữ tài nguyên thấp và ngữ cảnh giáo dục. Cung cấp một nền tảng cho các nghiên cứu tiếp theo về xử lý văn bản có sắc thái và các kỹ thuật tăng cường dữ liệu.
- Định lượng: Cung cấp dữ liệu thực nghiệm và phương pháp luận độc đáo cho các nghiên cứu tiếp theo, có thể thúc đẩy các công trình khoa học mới.
Câu hỏi thường gặp
-
Technical requirements để deploy mô hình này là gì? Để triển khai mô hình ViSoBERT hiệu quả, bạn cần một môi trường Python với các thư viện
Hugging Face Transformers,pytorchhoặctensorflow, vàscikit-learn. Về phần cứng, khuyến nghị sử dụng GPU (ví dụ: NVIDIA Tesla T4 hoặc V100) để đảm bảo tốc độ xử lý và suy luận (inference) nhanh chóng, đặc biệt với các mô hình Transformer. Đối với dữ liệu lớn, việc triển khai trên các nền tảng đám mây như AWS, GCP hoặc Azure với các dịch vụ GPU là tối ưu. -
Scalability limits và solutions cho mô hình này là gì? Các mô hình Transformer như ViSoBERT có khả năng mở rộng tốt để xử lý khối lượng dữ liệu lớn. Giới hạn chính thường là tài nguyên tính toán (GPU memory và VRAM) và chi phí liên quan.
- Giới hạn: Với dữ liệu huấn luyện hàng triệu văn bản, cần nhiều GPU và thời gian huấn luyện dài. Đối với suy luận, tốc độ có thể chậm lại nếu không có đủ tài nguyên.
- Giải pháp:
- Sử dụng kiến trúc phân tán (distributed training) trên nhiều GPU/máy chủ.
- Áp dụng kỹ thuật tối ưu hóa mô hình như quantization (giảm độ chính xác của trọng số), pruning (cắt tỉa các kết nối không cần thiết) hoặc distillation (huấn luyện mô hình nhỏ hơn dựa trên mô hình lớn) để giảm kích thước và tăng tốc độ.
- Sử dụng các công cụ tối ưu hóa hiệu suất như NVIDIA Triton Inference Server cho suy luận.
-
Integration với existing systems như thế nào? Mô hình có thể được tích hợp với các hệ thống hiện có thông qua một API RESTful. Một ứng dụng web nhỏ có thể nhận đầu vào là văn bản, gửi đến API mô hình, và trả về nhãn cảm xúc.
- Ví dụ:
- Hệ thống quản lý học sinh (SIS): Tích hợp để phân tích phản hồi của sinh viên từ các cuộc khảo sát hoặc diễn đàn nội bộ.
- Công cụ giám sát mạng xã hội: Nhận dữ liệu từ các nền tảng mạng xã hội (thông qua API của các nền tảng đó), sau đó gửi văn bản đến mô hình để phân loại cảm xúc.
- Ví dụ:
-
Maintenance và support needs là gì?
- Bảo trì mô hình: Cần định kỳ huấn luyện lại mô hình với dữ liệu mới để thích ứng với sự thay đổi của ngôn ngữ (tiếng lóng, emoji mới) và các xu hướng cảm xúc của sinh viên.
- Hỗ trợ kỹ thuật: Đảm bảo hệ thống hoạt động ổn định, giải quyết các lỗi phát sinh trong quá trình vận hành.
- Cập nhật thư viện: Theo dõi và cập nhật các phiên bản mới của
Hugging Face Transformers,pytorch/tensorflowđể tận dụng các cải tiến về hiệu suất và tính năng bảo mật.
-
Cost breakdown và ROI timeline ước tính?
- Chi phí:
- Chi phí phát triển: Ước tính 5.000 - 15.000 USD (tùy thuộc vào quy mô đội ngũ và thời gian).
- Chi phí hạ tầng (cloud/on-premise): 200 - 1.000 USD/tháng cho các máy chủ GPU.
- Chi phí bảo trì/cập nhật: 500 - 2.000 USD/năm.
- ROI timeline:
- Với các lợi ích như cải thiện sự hài lòng của sinh viên, giảm thiểu rủi ro thông tin sai lệch và tăng cường danh tiếng trường học, ước tính thời gian hoàn vốn (ROI) có thể đạt được trong vòng 12-24 tháng. Điều này dựa trên việc giảm chi phí hỗ trợ tâm lý, tăng tỷ lệ duy trì/ghi danh của sinh viên và nâng cao hiệu quả hoạt động.
- Chi phí:
Kết luận
Đồ án "DISSECTING EMOTION: CHALLENGES IN CLASSIFICATION AND ANALYSIS" đã thành công trong việc giải quyết những thách thức phức tạp của việc phân loại cảm xúc từ văn bản tiếng Việt của sinh viên trên mạng xã hội. Thông qua một quy trình phân tích và làm sạch dữ liệu chuyên sâu, cùng với việc thử nghiệm toàn diện các mô hình Học máy và Học sâu, dự án đã xác định được các phương pháp hiệu quả để nắm bắt sắc thái biểu cảm trong một ngôn ngữ tài nguyên thấp và ngữ cảnh đặc thù.
Major achievements summarized:
- Thiết lập một quy trình làm sạch dữ liệu tuần tự và chi tiết, đặc biệt tối ưu cho văn bản mạng xã hội tiếng Việt, bao gồm xử lý ký tự đặc biệt, từ viết tắt và giải mã emoji.
- Đánh giá và so sánh hiệu suất của nhiều mô hình ML và DL, cho thấy ViSoBERT với Cross-Entropy Loss đạt hiệu suất cao nhất với Accuracy 67.64% và Weighted F1-score 67%, vượt trội so với các nghiên cứu trước đây (UIT-VSMEC F1-score 59.74%).
- Thực hiện các thử nghiệm sâu rộng với các hàm lỗi khác nhau và kỹ thuật tăng cường dữ liệu, cung cấp những hiểu biết quan trọng về việc tối ưu hóa hiệu suất trên tập dữ liệu mất cân bằng và những thách thức khi áp dụng tăng cường dữ liệu cho văn bản có sắc thái.
Technical contributions highlighted: Dự án đóng góp một khung phương pháp luận mạnh mẽ cho việc phân tích cảm xúc trong các ngôn ngữ tài nguyên thấp, đặc biệt là tiếng Việt. Việc tập trung vào đặc thù của văn bản "confession" của sinh viên đã lấp đầy một khoảng trống nghiên cứu quan trọng và cung cấp các chi tiết kỹ thuật có thể áp dụng rộng rãi.
Business value demonstrated: Kết quả của đồ án này mang lại giá trị thực tiễn to lớn cho ngành giáo dục, cho phép các trường học hiểu sâu hơn về tâm lý học sinh, kịp thời phát hiện và giải quyết các vấn đề, tối ưu hóa chương trình học và quản lý danh tiếng hiệu quả.
Future work outlined: Hướng phát triển trong tương lai bao gồm khám phá các kiến trúc mô hình tiên tiến như GPT, tập trung sâu hơn vào xử lý emoji và emoticon, tích hợp kỹ thuật học đối nghịch kép để cải thiện khả năng xử lý mất cân bằng dữ liệu, và tùy chỉnh mô hình cho các sắc thái cảm xúc đặc thù trong môi trường giáo dục.
Call to action cho readers: Chúng tôi khuyến khích các nhà nghiên cứu, nhà phát triển và các tổ chức giáo dục khám phá và áp dụng những phát hiện từ đồ án này. Với khả năng hiểu và phân tích cảm xúc ngày càng được cải thiện, chúng ta có thể tạo ra những môi trường học tập hỗ trợ và phản ứng nhanh hơn, góp phần vào sự phát triển toàn diện của thế hệ sinh viên tương lai.
Từ khóa và chủ đề nghiên cứu
Câu hỏi thường gặp
Luận án nghiên cứu phân loại cảm xúc từ dữ liệu mạng xã hội học sinh sử dụng Machine Learning và Deep Learning. Áp dụng các mô hình BERT, SVM, Random Forest với kỹ thuật tiền xử lý dữ liệu và data augmentation để cải thiện độ chính xác nhận diện cảm xúc.
Luận án này được bảo vệ tại Vietnam National University, Hanoi International School. Năm bảo vệ: 2024.
Luận án "Phân tích thách thức phân loại cảm xúc với AI" thuộc chuyên ngành Business Data Analytics. Danh mục: Trí Tuệ Nhân Tạo.
Luận án "Phân tích thách thức phân loại cảm xúc với AI" có 54 trang. Bạn có thể xem trước một phần tài liệu ngay trên trang web trước khi tải về.
Để tải luận án về máy, bạn nhấn nút "Tải xuống ngay" trên trang này, sau đó hoàn tất thanh toán phí lưu trữ. File sẽ được tải xuống ngay sau khi thanh toán thành công. Hỗ trợ qua Zalo: 0559 297 239.