Sentiment Analysis tiếng Việt là bài toán dùng NLP để xác định thái độ hoặc cảm xúc được thể hiện trong văn bản. Ở mức đơn giản, hệ thống có thể phân loại một câu thành Positive hoặc Negative; ở mức chi tiết hơn, Aspect-Based Sentiment Analysis còn cho biết người viết đang tích cực hay tiêu cực về từng khía cạnh cụ thể.
Sự khác biệt này rất quan trọng với dữ liệu review, phản hồi khách hàng và mạng xã hội, nơi một câu có thể đồng thời chứa nhiều ý kiến trái chiều.
Positive, Negative và bài toán phân loại cảm xúc
Dạng cơ bản nhất của Sentiment Analysis xem toàn bộ văn bản như một đơn vị và dự đoán một nhãn cảm xúc. Chẳng hạn, câu “Sản phẩm dùng rất tốt” có thể được gán nhãn Positive, còn “Máy chạy chậm và thường xuyên bị treo” là Negative.
Trong thực tế, nhiều hệ thống bổ sung nhãn Neutral cho nội dung không thể hiện thái độ rõ ràng. Một bài toán như vậy có thể được mô tả đơn giản dưới dạng:
Processing: mô hình NLP biểu diễn và phân tích câu.
Output: Positive.
Cách tiếp cận này phù hợp khi mục tiêu chỉ là biết xu hướng cảm xúc chung. Tuy nhiên, một nhãn duy nhất sẽ mất thông tin khi câu chứa nhiều quan điểm.
Sentiment Analysis hoạt động như thế nào?
Một pipeline Sentiment Analysis thường bắt đầu bằng văn bản thô. Văn bản được tách thành các đơn vị nhỏ hơn như từ hoặc token, sau đó chuyển thành biểu diễn số để mô hình Machine Learning có thể xử lý.
Với các mô hình NLP hiện đại, biểu diễn này thường mang tính ngữ cảnh: cùng một từ có thể được hiểu khác nhau tùy câu xung quanh. Mô hình cuối cùng tạo ra xác suất cho các lớp cảm xúc rồi chọn lớp phù hợp nhất.
Ví dụ, từ “được” trong “chất lượng được” có thể mang sắc thái khá tích cực, trong khi câu “tưởng tốt mà hóa ra chỉ được cái quảng cáo” lại thể hiện thái độ tiêu cực. Vì vậy, chỉ đếm từ tích cực và tiêu cực thường không đủ.
Vì sao tiếng Việt khó hơn việc tìm từ tích cực và tiêu cực?
Cảm xúc trong tiếng Việt phụ thuộc mạnh vào ngữ cảnh, phủ định và cách nói đời thường. Câu “không tệ” không mang cùng ý nghĩa với “tệ”, còn “đẹp thì có đẹp nhưng pin yếu” chứa cả đánh giá tích cực lẫn tiêu cực.
- Phủ định: “không tốt”, “chẳng nhanh”, “chưa ổn”.
- Mức độ: “hơi chậm”, “rất tốt”, “quá tệ”.
- Ngôn ngữ mạng: viết tắt, sai chính tả, kéo dài ký tự hoặc pha tiếng Anh.
- Phụ thuộc lĩnh vực: một từ có thể mang sắc thái khác nhau trong review nhà hàng, tài chính hoặc công nghệ.
Đây cũng là lý do dữ liệu huấn luyện cần gần với loại văn bản mà hệ thống sẽ gặp khi triển khai.
Từ Sentiment Analysis tổng thể đến Aspect-Based Sentiment Analysis
Aspect-Based Sentiment Analysis (ABSA) là phân tích cảm xúc theo từng khía cạnh hoặc thuộc tính được nhắc tới. Thay vì hỏi “cả câu tích cực hay tiêu cực?”, ABSA đặt câu hỏi chi tiết hơn: “người dùng đang nói về điều gì, và cảm xúc đối với điều đó là gì?”.
Xét review: “Camera chụp đẹp nhưng pin tụt khá nhanh, bù lại giá hợp lý.” Gán một nhãn cho toàn câu sẽ khó phản ánh đầy đủ nội dung. ABSA có thể tạo kết quả:
| Khía cạnh | Ý kiến | Sentiment |
|---|---|---|
| Camera | chụp đẹp | Positive |
| Pin | tụt khá nhanh | Negative |
| Giá | hợp lý | Positive |
Nhờ đó, doanh nghiệp không chỉ biết khách hàng “hài lòng hay không”, mà còn biết chính xác yếu tố nào đang được khen hoặc phàn nàn.
Một hệ thống ABSA cần xử lý những gì?
ABSA thường phức tạp hơn phân loại cảm xúc thông thường vì hệ thống phải xác định cả đối tượng được nói tới lẫn thái độ dành cho đối tượng đó. Tùy thiết kế, quy trình có thể gồm các bước sau:
- Nhận diện aspect: tìm các khía cạnh như “camera”, “pin” hoặc “dịch vụ”.
- Xác định cụm ý kiến: tìm phần văn bản mô tả aspect, chẳng hạn “tụt khá nhanh”.
- Phân loại sentiment: dự đoán Positive, Negative hoặc Neutral cho từng aspect.
- Chuẩn hóa kết quả: có thể gom các cách gọi tương tự vào cùng nhóm, ví dụ “nhân viên” và “phục vụ” thuộc nhóm dịch vụ.
Khi nào nên dùng Sentiment Analysis và khi nào cần ABSA?
Sentiment Analysis tổng thể phù hợp với các tác vụ cần kết quả đơn giản như thống kê tỷ lệ phản hồi tích cực, lọc bình luận tiêu cực hoặc theo dõi xu hướng cảm xúc của một lượng lớn văn bản.
ABSA hữu ích hơn khi quyết định kinh doanh phụ thuộc vào nguyên nhân của cảm xúc. Với review sản phẩm, nhà hàng, khách sạn hay ứng dụng, việc biết “Negative” thường chưa đủ; nhóm vận hành cần biết vấn đề nằm ở giá, giao hàng, giao diện, hiệu năng hay chăm sóc khách hàng.
Đổi lại, ABSA đòi hỏi dữ liệu gán nhãn chi tiết hơn và mô hình phải xử lý mối quan hệ giữa aspect với câu chứa nó. Vì vậy, mức độ chi tiết nên được lựa chọn dựa trên mục tiêu sử dụng chứ không phải lúc nào ABSA cũng tốt hơn.
Kết luận
Positive và Negative là điểm khởi đầu dễ hiểu của Sentiment Analysis tiếng Việt, nhưng một nhãn cho toàn bộ văn bản có thể che mất nhiều thông tin quan trọng. Aspect-Based Sentiment Analysis đi sâu hơn bằng cách gắn cảm xúc với từng khía cạnh cụ thể, từ đó biến review và phản hồi tự do thành dữ liệu có cấu trúc, hữu ích hơn cho phân tích và ra quyết định.
Nội dung gốc thuộc tác giả. Vui lòng không đăng lại toàn văn khi chưa được phép, trừ trường hợp pháp luật hoặc giấy phép áp dụng cho phép. Nội dung của bên thứ ba tuân theo quyền và giấy phép tương ứng.
Nguồn gốc: Sentiment Analysis tiếng Việt: Positive, Negative và ABSA