TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM KHOA ĐIỆN ĐIỆN TỬ BỘ MÔN KĨ THUẬT MÁY TÍNH – VIẾN THÔNG BÁO CÁO MÁY HỌC Đề tài PHÂN TÍCH CẢM XÚC TRÊN MẠNG XÃ HỘI BẰNG MÁY HỌC GVHD Trần Vũ Hoàng SVTH Nguyễn Hữu Nghĩa 17119092 Nguyễn Ngọc Khánh 17119084 TP HCM 112020 1CHƯƠNG 1 MỤC LỤC CHƯƠNG 2 CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN 1 1 Giới thiệu tổng quan 1 1 1 Lý do chọn đề tài 1 1 2 Mục tiêu đề tài 1 CHƯƠNG 3 CHƯƠNG 2 CÁC NỘI DUNG THỰC HIỆN 2 2 Giới thiệu các nội dung thực hiện 2 2 1 Thách thức vấn đề gặp phải.
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN KĨ THUẬT MÁY TÍNH – VIẾN THÔNG
BÁO CÁO MÁY HỌC
XÃ HỘI BẰNG MÁY HỌC
GVHD: Trần Vũ Hoàng SVTH: Nguyễn Hữu Nghĩa 17119092
Nguyễn Ngọc Khánh 17119084
TP.HCM 11/2020
Trang 21: MỤC LỤC
2.2 C ÁC PHƯƠNG PHÁP GIẢI QUYẾT , SO SÁNH VÀ LỰA CHỌN 3
Trang 32: CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN
1 Giới thiệu tổng quan
Phân tích cảm xúc, còn được gọi là Opinion mining, đề cập đến các kỹ thuật và quy trình giúp các tổ chức truy xuất thông tin về cách khách hàng phản ứng với một sản phẩm hoặc dịch vụ cụ thể
Về bản chất, cảm xúc (tức là cảm xúc, thái độ, ý kiến, suy nghĩ, v.v.) được phân tích đằng sau lời nói bằng cách sử dụng các công cụ Xử lý ngôn ngữ tự nhiên - Natural Language Processing (NLP) Xử lý ngôn ngữ tự nhiên về cơ bản nhằm mục đích hiểu
và tạo ra một ngôn ngữ tự nhiên bằng cách sử dụng các công cụ và kỹ thuật thiết yếu Phân tích cảm xúc cũng sử dụng Xử lý ngôn ngữ tự nhiên và Machine Learning để giúp các cá nhân, tổ chức nhìn xa hơn chỉ là số lượt thích / chia sẻ / nhận xét mà họ nhận được trên một chiến dịch quảng cáo, bài đăng trên blog, sản phẩm đã phát hành hoặc bất kỳ thứ gì có tính chất đó Bài báo cáo này đang chính là đào sâu vào vấn đề này
1.1 Lý do chọn đề tài
- Có hàng ngàn tweet, status, blog được đăng lên mạng xã hội hằng ngày, nguồn
dữ liệu tốt cần được khai thác
- Công việc đọc từng review, post, hay là survey đánh giá sản phẩm tốn rất nhiều
thời gian Vì thế Machine Learning là một công cụ tốt để giảm thiểu sức lực và đưa ra một mô hình tốt để dự đoán phản hồi từ người dùng
- Mục tiêu đề tài
- Dự đoán được tweet là tích cực hay tiêu cực
Trang 43: CHƯƠNG 2 CÁC NỘI DUNG THỰC HIỆN
2 Giới thiệu các nội dung thực hiện
1 Các thách thức vấn đề gặp phải
2 Các phương pháp giải quyết, so sánh và đưa ra lựa chọn
3 Các datasets sẽ được sử dụng
4 Các phương đánh giá
2.1 Thách thức vấn đề gặp phải
Phân tích cảm xúc là một trong những nhiệm vụ khó nhất trong xử lý ngôn ngữ tự nhiên vì ngay cả con người cũng gặp khó khăn để phân tích cảm xúc một cách chính xác
- Có hai loại text: chủ quan và khách quan Khách quan không chứa cảm xúc
rõ ràng, trong khi văn bản chủ quan có thể ẩn chứa đánh giá của người dùng.
- Bối cảnh văn nói và sự thay đổi chiều trong câu nói Bối cảnh là yếu tố quan trọng để xác định cảm xúc của user, trong khi đó việc thay đổi chiều, ví dụ như nói ngược lại nhưng ý không thay đổi, cũng góp một phần quan trọng trong việc phân tích cảm xúc.
- Mỉa mai và châm biếm Với con người, mỉa mai là hình thức ngôn ngữ phổ thông và được sử dụng hằng ngày, nhưng bằng cách nào máy tính có thể hiểu và biến nó thành dữ liệu chính xác đem ra phân tích lại là một vấn đề cần được xem xét.
- So sánh Việc so sánh trừu tượng cũng gây khó khăn trong việc phân loại tính chất cảm xúc.
- Emojis Trong các đoạn hội thoại, tweet, sử dụng các biểu tượng chèn lồng ghép với câu chữ thông thường cần được đem ra phân tích, vì chúng cũng góp phần quan trọng trong việc đánh giá của bài toán.
2.2 Các phương pháp biến đổi features, classifer models + so sánh và lựa chọn
Trang 5Không có thuật toán Máy học nào có thể đạt được độ chính xác hoàn hảo 100% Do sự phức tạp của ngôn ngữ tự nhiên, hầu hết các thuật toán phân tích cảm tính chỉ có độ chính xác tốt nhất là 80%
1.1.1 Các feature extractor
1.1.1.1 Bag-of-words:
Mô hình bag-of-words là một biểu diễn đơn giản hóa được sử dụng trong xử lý ngôn ngữ tự nhiên và truy xuất thông tin (IR) Trong mô hình này, một văn bản (chẳng hạn như một câu hoặc một tài liệu) được biểu thị như một túi (nhiều tập hợp) các từ của nó, không tính đến ngữ pháp và thậm chí cả trật tự từ nhưng vẫn giữ tính đa nghĩa Mô hình bag-of-words cũng đã được sử dụng cho thị giác máy tính
Trang 61.1.1.2 TF-IDF
TF-IDF là một thước đo thống kê đánh giá mức độ liên quan của một từ với một tài liệu trong bộ sưu tập tài liệu Điều này được thực hiện bằng cách nhân hai số liệu: số lần một từ xuất hiện trong tài liệu và tần suất nghịch đảo của từ trong một tập hợp tài liệu
1.1.2 Classifer models
Trang 7Vấn đề được xếp vào loại học có giám sát và xếp vào Classification Tức là cần đánh giá kết quả thành 2 loại tích cực, tiêu cực
1.1.2.1 Linear Regression
1.1.2.2 XGBoost
XGBoost là một thuật toán gần đây đã thống trị các ứng dụng machine learning và
cuộc thi Kaggle cho dữ liệu có cấu trúc hoặc bảng.
XGBoost là một triển khai cây quyết định tăng cường độ dốc được thiết kế cho tốc độ
và hiệu suất
Trang 81.1.2.3 Decision trees:
Decision trees là một cấu trúc giống như lưu đồ, trong đó mỗi nút bên trong đại diện cho một "thử nghiệm" trên một thuộc tính (ví dụ: liệu một lần lật đồng xu xuất hiện đầu hay sấp), mỗi nhánh biểu thị kết quả của thử nghiệm và mỗi nút lá đại diện cho một nhãn lớp (quyết định được thực hiện sau khi tính toán tất cả các thuộc tính)
Model này được gọi từ thư viện chính sklearn
Ví dụ:
1.1.3 So sánh giữa các phương pháp
Trang 9Từ bảng so sánh này ta kết luật sử dụng Logistic regression Model + TF-IDF feature extraction
1.2 Các datasets sẽ được sử dụng
Với mã nguồn mở Github, tìm được nguồn datasets:
Link: https://raw.githubusercontent.com/dD2405/Twitter_Sentiment_Analysis/ master/train.csv
Khái quát về datasets:
Trang 11Datasets dành cho train này có 3 thuộc tính, ‘1’ cho negative sentiment tweet,
và ‘0’ cho positive sentiment tweet
Phần datasets này dự kiến sau khi được extract thành feature thì sẽ được chia thành 2 phần Train và Validation
Dưới đây là tổng quan về datasets cho việc test:
Trang 12Các id không còn được label nữa mà chúng ta sẽ thử dự đoán.
1.3 Các phương đánh giá
1.3.1 Precision & Recall
- Cách đánh giá này thường được áp dụng cho các bài toán phân lớp có hai lớp
dữ liệu Cụ thể hơn, trong hai lớp dữ liệu này có một lớp nghiêm trọng hơn lớp kia và cần được dự đoán chính xác
Trang 13- Prediction: Tỉ lệ chính xác.
- Recall: Tỉ lệ phát hiện.
1.3.2 F-1 score
F1 score có thể là một thước đo tốt hơn để sử dụng nếu chúng ta cần tìm kiếm sự cân bằng giữa Precision và Recall VÀ có sự phân bố lớp không đồng đều (số lượng lớn các Phủ định Thực tế)
Trong thực tế với bài toán này sẽ sử dụng F-1 score để mang ra đánh giá vì có sự chênh lệch lớn giữa negative và positive Hình dưới minh họa điều này:
Công thức của F1-score: