Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS Phân lớp đa nhãn và ứng dụng cho bài toán phân loại tin nhắn văn bản SMS luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
ĐÀO XUÂN DƯƠNG BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Đào Xuân Dương CÔNG NGHỆ THÔNG TIN PHÂN LỚP ĐA NHÃN VÀ ỨNG DỤNG CHO BÀI TOÁN PHÂN LOẠI TIN NHẮN VĂN BẢN SMS LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN 2017B Hà Nội – 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Đào Xuân Dương PHÂN LỚP ĐA NHÃN VÀ ỨNG DỤNG CHO BÀI TOÁN PHÂN LOẠI TIN NHẮN VĂN BẢN SMS Chuyên ngành : Công nghệ thông tin LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC : TS TRỊNH ANH PHÚC Hà Nội – 2019 LỜI CẢM ƠN Luận văn tốt nghiệp thạc sĩ chuyên ngành Cơng nghệ thơng tin hồn thành Trường Đại học Bách Khoa Hà Nội Để có luận văn tốt nghiệp này, tơi xin tỏ lịng biết ơn chân thành sâu sắc đến Trường Đại học Bách Khoa Hà Nội, Viện Công nghệ thông tin Truyền thông, đặc biệt TS Trịnh Anh Phúc trực tiếp hướng dẫn, dìu dắt, giúp đỡ tơi với dẫn khoa học quý giá suốt trình triển khai, nghiên cứu hoàn thành đề tài nghiên cứu Tơi xin chân thành cảm ơn thầy, cô giáo trực tiếp giảng dạy, truyền đạt kiến thức khoa học chuyên ngành Công nghệ thông tin cho thân tơi tồn thời gian khóa học Tơi xin trân trọng cảm ơn thầy hội đồng chun mơn đóng góp ý kiến q báu để tơi hồn thiện luận văn Cuối cùng, muốn gửi lời cảm ơn sâu sắc đến gia đình, bạn bè, đồng nghiệp giúp đỡ, trao đổi chia sẻ kinh nghiệm chun mơn, đóng góp ý kiến q báu Đặc biệt người đóng góp, hỗ trợ, cho phép thu thập chia sẻ liệu thực nghiệm để hồn thành q trình nghiên cứu luận văn Mặc dù có nhiều cố gắng để thực đề tài, song làm quen với công tác nghiên cứu khoa học, tiếp cận với cơng nghệ thời gian có hạn nên khơng thể tránh khỏi thiếu sót định Tơi mong góp ý Q thầy, bạn bè đồng nghiệp để đề tài hoàn chỉnh Xin chân thành cảm ơn! i LỜI CAM ĐOAN Tôi xin cam đoan luận văn riêng Các kết nêu luận văn xác trung thực chưa cơng bố đề tài, cơng trình nghiên cứu khác Tôi xin cam đoan thơng tin trích dẫn luận văn rõ nguồn gốc Ngày 01 tháng 10 năm 2019 Đào Xuân Dương ii MỤC LỤC LỜI CẢM ƠN .i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT .vi DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ PHẦN MỞ ĐẦU Lý chọn đề tài Mục đích nghiên cứu Đối tượng, phạm vi nghiên cứu, phương pháp nghiên cứu 4 Bố cục luận văn 5 Đóng góp luận văn CHƯƠNG TỔNG QUAN VỀ DỮ LIỆU TIN NHẮN RÁC VÀ CÁC PHƯƠNG PHÁP PHÂN LOẠI TIN NHẮN RÁC 1.1 Tin nhắn rác thực trạng tin nhắn rác Việt Nam 1.2 Đặc điểm tin nhắn văn tiếng Việt .9 1.2.1 Đặc điểm tin nhắn văn tiếng Việt .9 1.2.2 Cách phân loại tin nhắn spam SMS 10 1.3 Tác hại tin nhắn rác (spam SMS) 11 1.4 Phương pháp phân loại spam SMS 12 1.4.1 Dựa vào nguồn phát tán tin nhắn rác 12 1.4.2 Lọc tin nhắn dựa vào nội dung 13 Tổng kết chương 14 CHƯƠNG - CƠ SỞ LÝ THUYẾT 15 2.1 Cơ sở lý thuyết xử lý ngôn ngữ 15 2.1.1 Xử lý ngôn ngữ tự nhiên .15 iii 2.1.2 Kỹ thuật tách từ (Words segmentation) 16 2.1.3 Một số phương pháp trích chọn đặc trưng 17 2.2 Phân lớp nhị phân/đơn nhãn (Binary Classification/Single Label Classification) 22 2.3 Phân lớp đa nhãn (Multi-Label Classification) 23 2.3.1 Bài toán phân lớp đa nhãn tổng quát .23 2.3.2 Phân biệt phân lớp đa nhãn (Multi-Label) với đa lớp (Multi-Class) 24 2.3.3 Các kỹ thuật phân lớp đa nhãn 24 2.3.4 Lựa chọn thuật toán .25 2.4 Cơ sở mơ hình thống kê 31 2.4.1 Thuật toán Naive Bayes 31 2.4.2 Thuật toán SVM 32 2.4.3 Thuật toán Logistic Regression 35 2.5 Các tiêu chí đánh giá mơ hình phân lớp đa nhãn .37 2.5.1 Các độ đo dựa mẫu 37 2.5.2 Các độ đo dựa nhãn 38 2.5.3 Thời gian chạy thuật toán 40 2.5.4 Lựa chọn tiêu chí đánh giá 41 Tổng kết chương 41 CHƯƠNG - THU THẬP VÀ TIỀN XỬ LÝ DỮ LIỆU 42 3.1 Thu thập gán nhãn liệu .42 3.1.1 Dữ liệu thực nghiệm 42 3.1.2 Dữ liệu phân lớp 43 3.1.3 Gán nhãn phân bố liệu theo nhãn 44 3.1.4 Từ khóa đặc trưng liệu thực nghiệm theo nhãn 46 3.2 Tiền xử lý liệu 50 3.2.1 Chuẩn hoá từ (Sterming) .51 3.2.2 Làm liệu (clean data) 52 3.2.3 Loại bỏ StopWords (remove stopwords) 52 iv 3.2.4 Tách từ (words segmentation) 52 3.3 Trích chọn đặc trưng véc tơ hóa từ với TF-IDF 53 Tổng kết chương 54 CHƯƠNG - KẾT QUẢ VÀ BÀN LUẬN 55 4.1 Mơ hình tổng qt tốn 55 4.2 Môi trường thực nghiệm .56 4.2.1 Cấu hình phần cứng thực nghiệm 56 4.2.2 Các thư viện sử dụng .56 4.3 Lựa chọn thuật toán huấn luyện 56 4.4 Thực nghiệm đánh giá kết 57 4.5 Tối ưu tham số mơ hình với GridSearch .58 4.6 Kết thực nghiệm 60 4.6.1 Binary Relevance với Gaussian Naïve Bayes, SVC Logistic Regression 60 4.6.2 Classifier Chains với Gaussian Naïve Bayes 64 4.6.3 Multi-label K-Nearest Neighbours (ML-kNN) .65 4.7 Nhận xét Đánh giá .67 4.7.1 So sánh chất lượng phân lớp thuật toán liệu thực nghiệm 67 4.7.2 So sánh ảnh hưởng độ lớn liệu thời gian chạy thuật toán 68 4.7.3 So sánh chất lượng phân loại trước sau đề xuất phương pháp cải tiến công đoạn tiền xử lý liệu 69 4.7.4 Nhận xét 70 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71 Các kết đạt luận văn 71 Hạn chế luận văn .71 Hướng nghiên cứu 72 TÀI LIỆU THAM KHẢO 73 v DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Kí hiệu Tiếng Anh SMS Short Message Services Spam SMS Telco Senders SĐT Spam SMS Telecom Company = Operator Senders Phone Number BrandName BrandName AI ML NLP Artificial Intelligence Machine Learning Natural Language Processing DL Deep Learning SVM Support Vector Machine Term Frequency Inverse Document Frequency TF-IDF BOW Bag of Words N-Gram Statistical N-Gram Language Modeling StopWords Từ dừng/từ loại MLC FE FS OVR Multi-Label Classiffication Feature Extraction Feature Selection One-vs-rest hay gọi oneagainst-rest, one-vs-all, oneagainst-rest, one-against-all Binary Relevance Multinomial Naïve Bayes Gaussian Naive Bayes SVC Label Powerset Classifier Chains Tiếng Việt Dịch vụ tin nhắn ngắn qua mạng di động Tin nhắn rác Nhà cung cấp dịch vụ viễn thông Người gửi/Nguồn gửi tin nhắn SMS Số điện thoại người gửi/nhận Tên thương hiệu (hiển thị thay cho số điện thoại người gửi) Trí tuệ nhân tạo Phương pháp học máy Xử lý ngôn ngữ tự nhiên Kỹ thuật học máy dựa mạng nơ ron (Neural network) Máy vectơ hỗ trợ Trọng số tần suất độ quan trọng từ Mơ hình xử lý ngơn ngữ tự nhiên tiếp cận theo hướng dãy từ Mơ hình ngôn ngữ thống kê NGram Những từ mang ý nghĩa cảm thán, xuất nhiều văn bản, không lại mang nhiều ý nghĩa Phân lớp đa nhãn Trích chọn đặc trưng Lựa chọn đặc trưng Phương pháp phân loại lớp với lớp cịn lại Mơ hình phân lớp tương hợp nhị phân Mơ hình Multinomial Nạve Bayes Mơ hình Gaussian Nạve Bayes Mơ hình Liner SVM Mơ hình phân lớp Tập lũy thừa nhãn Mơ hình phân lớp Chuỗi phân lớp Phương pháp phân lớp đa nhãn k ML-kNN Multi-Label k Nearest Neighbour Láng giềng gần Kỹ thuật tìm kiếm tham số lưới GridSearch GridSearch Accuracy Độ xác tổng quát ACC Ministry of Information and Bộ Thông tin Truyền thông Bộ TT&TT Communications BR MNB GNB SVC LP CC vi DANH MỤC CÁC BẢNG Bảng 1.1 Thống kê số lượng tin nhắn quảng cáo từ 2015-2017 (Nguồn VnCert) Bảng 1.2 Thống kê số lượt phản ánh tin rác qua năm 2015-2018 (theo VnCert) Bảng 1.3 So sánh cấu trúc Tin nhắn SMS với thư điện tử (email) 14 Bảng 2.1 Ví dụ nội dung nội dung tin nhắn cho n-gram 19 Bảng 2.2 Ví dụ túi từ vựng unigram 19 Bảng 2.3 Ví dụ vec-tơ đặc trưng unigram .20 Bảng 2.4 Ví dụ túi từ vựng bi-grams 20 Bảng 2.5 Ví dụ vec-tơ đặc trưng bi-grams 20 Bảng 2.6 Ví dụ tốn phân lớp Binary Relevance 26 Bảng 2.7 Các phân nhãn nhị phân tương ứng với nhãn 26 Bảng 2.8 Ví dụ tốn phân lớp Classifier Chain .28 Bảng 2.9 Các phân nhãn tương ứng với nhãn Classifier Chains 28 Bảng 2.10 Các tham số sử dụng đánh giá mơ hình phân lớp 41 Bảng 3.1 Bảng số liệu thống kê Bộ liệu thực nghiệm 42 Bảng 3.2 Bảng số liệu thống kê Bộ liệu thực nghiệm 42 Bảng 3.3 Dữ liệu phân lớp 43 Bảng 3.4 Phân bố liệu thực nghiệm vào nhóm nhãn .44 Bảng 3.5 Bộ từ điển chuẩn hóa từ viết tắt tiếng Việt 51 Bảng 4.1 Cấu hình phần cứng thực nghiệm .56 Bảng 4.2 Các gói thư viện xử lý 56 Bảng 4.3 So sánh chất lượng phân lớp thuật toán Binany Relevance sử dụng mơ hình Gaussian Nạve Bayes, SVC Logistic Regression 60 Bảng 4.4 Chỉ số đánh giá dựa nhãn thuật toán BR sử dụng GNB 61 Bảng 4.5 Chỉ số đánh giá dựa nhãn thuật toán BR sử dụng SVC 62 Bảng 4.6 Chỉ số đánh giá dựa nhãn thuật toán Binary Relevance sử dụng Logistic Regression .63 Bảng 4.7 Các độ đo dựa mẫu thuật toán Classifier Chains 64 Bảng 4.8 Chỉ số đánh giá dựa nhãn Classifier Chains với GNB 64 Bảng 4.9 Các tiêu chí đánh giá dựa mẫu thuật toán ML-kNN 65 Bảng 4.10 Chỉ số đánh giá dựa nhãn thuật toán ML-kNN 65 Bảng 4.11 Bảng so sánh chất lượng phân lớp sau tối ưu mơ hình 66 Bảng 4.12 So sánh chất lượng phân lớp thuật toán liệu thực nghiệm .67 Bảng 4.13 So sánh chất lượng phân lớp thuật toán liệu thực nghiệm .67 Bảng 4.14 So sánh chất lượng phân loại trước sau cải tiến cơng đoạn chuẩn hóa từ tiếng Việt 69 Phân lớp đa nhãn ứng dụng cho toán phân loại tin nhắn văn SMS Trang DANH MỤC CÁC HÌNH VẼ Hình 1.1 Thống kê tin nhắn rác từ nhà mạng Việt Nam năm 2018 Hình 1.2 Các thành phần tin nhắn SMS gửi .13 Hình 1.3 Cấu trúc tin nhắn SMS 13 Hình 2.1 Xử lý ngơn ngữ tự nhiên vấn đề khó AI .15 Hình 2.2 Ví dụ công đoạn tách từ tiếng Việt 16 Hình 2.3 Ví dụ từ điển StopWords .21 Hình 2.4 Tần suất xuất 50 StopWords thường gặp sách .21 Hình 2.5 Mơ hình xử lý phân nhãn liệu nhị phân 22 Hình 2.6 Thuật tốn phân lớp Binary Relevance 27 Hình 2.7 Mơ hình thuật tốn chuỗi phân lớp Classifier Chains 29 Hình 2.8 Thuật toán Classifer Chains 29 Hình 2.9 Thuật tốn ML-kNN 30 Hình 2.10 Mơ tả siêu phẳng SVM 33 Hình 2.11 Mô tả đường biên SVM 34 Hình 2.12 Mơ tả đường biên có margin SVM 34 Hình 2.13 Phương pháp một-chọi-tất (one-vs-all) 35 Hình 2.14 Logistic Regression với nhóm (class) 35 Hình 2.15 Đồ thị hàm sigmoid .36 Hình 3.1 Giả định mối quan hệ nhãn 44 Hình 3.2 Phân bố tin nhắn theo nhãn 45 Hình 3.3 Phân bố tin nhắn đa nhãn .45 Hình 3.4 Sơ đồ WordCloud thể tần suất xuất từ khóa theo nhãn 46 Hình 4.1 Mơ hình tổng qt tốn 55 Hình 4.2 Module tự động phân loại đa nhãn tin nhắn 58 Hình 4.3 Chiến lược tìm kiếm tham số tối ưu Grid Search 59 Hình 4.4 Biểu đồ so sánh số đánh giá theo mẫu thuật tốn Binary Relevance mơ hình Gaussian Nạve Bayes, SVC Logistic Regression .60 Hình 4.5 Biểu đồ số đánh giá theo nhãn thuật toán Binary Relevance mơ hình Gaussian Nạve Bayes, SVC Logistic Regression 61 Hình 4.6 Biểu đồ so sánh ảnh hưởng độ lớn liệu (2 gói thực nghiệm) lên số Hamming-Loss, One-Error, Ranking loss Average Presision 68 Hình 4.7 Biểu đồ so sánh ảnh hưởng độ lớn liệu (2 gói thực nghiệm) lên số Accuracy Score, Precision Score, Recall Score f1 Score .68 Hình 4.8 So sánh ảnh hưởng độ lớn liệu thời gian chạy thuật toán .68 Phân lớp đa nhãn ứng dụng cho toán phân loại tin nhắn văn SMS Trang Hình 4.3 Chiến lược tìm kiếm tham số tối ưu Grid Search Random search: Kết hợp ngẫu nhiên với giới hạn số lượng phép thử Một số cách khác: Một số thuật toán Bayesian Optimization, Ưu điểm GridSearch: Vét trường hợp miền giá trị Nhược điểm GridSearch: Với mơ hình lớn nhiều tham số, việc tối ưu nhiều thời gian, hàng giờ, vài tính ngày Với mục đích kiểm nghiệm hiệu việc tối ưu tham số mơ hình, luận văn sử dụng Kỹ thuật tìm kiếm lưới (GridSearch) để tìm kiếm giá trị tham số mơ hình ML-kNN với mong muốn tối ưu mơ hình áp dụng Kết sau đánh giá với việc chạy mơ hình mà khơng có tối ưu Trang 59 4.6 Kết thực nghiệm Luận văn tiến hành đánh giá hệ thống với tỷ lệ liệu đào tạo/kiểm tra 70:30 Như giới thiệu mục 2.5.4, luận văn sử dụng độ đo đánh giá kết mơ hình liệu thực nghiệm 2, sau so sánh với kết đánh giá cuối liệu thực nghiệm với mục đích nghiên cứu ảnh hưởng độ lớn liệu chất lượng độ xác thuật tốn mơ hình lựa chọn 4.6.1 Binary Relevance với Gaussian Nạve Bayes, SVC Logistic Regression Các tiêu chí đánh giá dựa mẫu chạy thuật toán Binary Relevance với mơ hình Gaussian Nạve Bayes, SVC Logistic Regression bảng sau: Bảng 4.3 So sánh chất lượng phân lớp thuật tốn Binany Relevance sử dụng mơ hình Gaussian Naïve Bayes, SVC Logistic Regression STT Tên tiêu chí 10 Hamming-Loss one-error coverage ranking loss Average Precision accuracy precision recall f1_score Wall-times GNB Mơ hình SVC 0.023 0.023 0.035 0.162 0.147 0.183 2.542 3.198 3.818 0.044 0.087 0.131 0.646 0.611 0.419 0.838 0.852 0.817 0.781 0.964 0.986 0.813 0.611 0.391 0.797 0.748 0.559 63 s 7.79 s 14.2 s Logistic Regression Biểu đồ tiêu chí đánh giá dựa vào số liệu thống kê bảng 4.3 sau: Hình 4.4 Biểu đồ so sánh số đánh giá theo mẫu thuật toán Binary Relevance mơ hình Gaussian Nạve Bayes, SVC Logistic Regression Trang 60 Biểu đồ độ đo theo nhãn thuật toán Binary Relevance với mơ sau: Hình 4.5 Biểu đồ số đánh giá theo nhãn thuật tốn Binary Relevance mơ hình Gaussian Nạve Bayes, SVC Logistic Regression Các độ đo thuật toán GNB dựa phân lớp nhãn bảng sau: Bảng 4.4 Chỉ số đánh giá dựa nhãn thuật toán BR sử dụng GNB STT 10 11 12 13 14 15 16 17 18 19 20 Nhãn Spam Ads Entertainment App RealEstale Villa Apartment House Lots Financial Bank Card Loans Promotion Harm Scam MoneyScam PasswordScam InfoScam Virus Micro avg Macro avg precision 95% 92% 39% 76% 50% 0% 29% 0% 0% 23% 10% 0% 12% 81% 76% 77% 76% 33% 33% 0% 78% 40% recall 96% 95% 39% 85% 50% 0% 18% 0% 0% 27% 14% 0% 10% 88% 79% 77% 77% 50% 25% 0% 81% 42% f1_score Accuracy 95% 94% 39% 80% 50% 0% 22% 0% 0% 25% 12% 0% 11% 84% 77% 77% 77% 40% 29% 0% 80% 41% 84% Wall time 63 s Trang 61 Các độ đo thuật toán BR sử dụng SVC dựa nhãn bảng sau: Bảng 4.5 Chỉ số đánh giá dựa nhãn thuật toán BR sử dụng SVC STT 10 11 12 13 14 15 16 17 18 19 20 Nhãn Spam Ads Entertainment App RealEstale Villa Apartment House Lots Financial Bank Card Loans Promotion Harm Scam MoneyScam PasswordScam InfoScam Virus Micro avg Macro avg precision 100% 98% 83% 94% 100% 0% 0% 0% 0% 100% 0% 0% 100% 96% 93% 93% 93% 0% 0% 0% 96% 53% recall 75% 75% 9% 67% 5% 0% 0% 0% 0% 9% 0% 0% 10% 69% 58% 57% 58% 0% 0% 0% 61% 25% f1_score 85% 85% 16% 78% 9% 0% 0% 0% 0% 17% 0% 0% 18% 81% 71% 71% 72% 0% 0% 0% 75% 30% Accuracy Wall time 85% 7.79 s Trang 62 Các độ đo Logistic Regression dựa phân lớp nhãn bảng sau: Bảng 4.6 Chỉ số đánh giá dựa nhãn thuật toán Binary Relevance sử dụng Logistic Regression STT 10 11 12 13 14 15 16 17 18 19 20 Nhãn Spam Ads Entertainment App RealEstale Villa Apartment House Lots Financial Bank Card Loans Promotion Harm Scam MoneyScam PasswordScam InfoScam Virus Micro avg Macro avg precision 100% 99% 0% 98% 0% 0% 0% 0% 0% 0% 0% 0% 0% 96% 97% 97% 96% 0% 0% 0% 99% 34% recall 63% 64% 0% 33% 0% 0% 0% 0% 0% 0% 0% 0% 0% 41% 24% 23% 23% 0% 0% 0% 39% 14% f1_score 77% 78% 0% 50% 0% 0% 0% 0% 0% 0% 0% 0% 0% 58% 38% 37% 37% 0% 0% 0% 56% 19% Accuracy Wall time 82% 14.2 s 4.6.1.1 Nhận xét Như vậy, dựa vào thống kê ta thấy: thuật tốn Binary Relevance với mơ hình Gaussian Nạve Bayes cho độ xác tổng quát tốt hơn, số nhãn xếp hạng cao bị lệch Trong đó, thuật tốn SVC cho tỷ lệ gán nhãn sai chạy nhanh hẳn thuật tốn Nạve Bayes Logistic Regression Tuy nhiên, theo số liệu bảng 4.5 ta thấy SVC nhạy cảm với nhãn có mẫu Nói cách khác, độ xác cho nhãn có mẫu thấp thuật tốn Nạve Bayes (mặc dù cao Logistic Regression) Thuật toán Logistic Regression tỏ hiệu tốn cụ thể này, lý thuật toán Logistic Regression phù hợp với việc phân lớp nhị phân mà khơng tính đến mối tương quan nhãn Trang 63 4.6.2 Classifier Chains với Gaussian Naïve Bayes Các độ đo dựa mẫu thuật tốn Classifier Chains với mơ hình Gaussian Nạve Bayes cho kết phân lớp sau: Bảng 4.7 Các độ đo dựa mẫu thuật toán Classifier Chains STT Tên tiêu chí Hamming-Loss one-error coverage ranking loss Average Precision accuracy precision recall f1_score 10 Wall-times Classifier Chains 0.016 0.137 2.542 0.044 0.742 0.862 0.900 0.813 0.854 65 s Các độ đo dựa nhãn thuật toán Classifier Chains với mơ hình Gaussian Nạve Bayes cho kết phân lớp sau: Bảng 4.8 Chỉ số đánh giá dựa nhãn Classifier Chains với GNB STT 10 11 12 13 14 15 16 17 18 19 20 Nhãn Spam Ads Entertainment App RealEstale Villa Apartment House Lots Financial Bank Card Loans Promotion Harm Scam MoneyScam PasswordScam InfoScam Virus Micro avg Macro avg precision 95% 92% 56% 85% 100% 0% 100% 0% 0% 60% 33% 0% 100% 91% 90% 91% 91% 67% 67% 0% 90% 61% recall 96% 95% 35% 84% 45% 0% 18% 0% 0% 27% 14% 0% 10% 85% 79% 77% 79% 50% 25% 0% 81% 41% f1_score 95% 94% 43% 84% 62% 0% 31% 0% 0% 37% 20% 0% 18% 88% 84% 84% 85% 57% 36% 0% 85% 46% Accuracy Wall time 86% 65 s Trang 64 4.6.3 Multi-label K-Nearest Neighbours (ML-kNN) Các tiêu chí đánh giá dựa mẫu thuật toán Multi-label K-Nearest Neighbours bảng sau: Bảng 4.9 Các tiêu chí đánh giá dựa mẫu thuật tốn ML-kNN STT Tên tiêu chí Hamming-Loss one-error coverage ranking loss Average Precision accuracy precision recall f1_score 10 Wall-times MLkNN 0.018 0.147 2.842 0.052 0.705 0.852 0.887 0.780 0.830 543 s Các tiêu chí đánh giá dựa nhãn thuật toán ML-kNN cho kết sau: Bảng 4.10 Chỉ số đánh giá dựa nhãn thuật toán ML-kNN STT 10 11 12 13 14 15 16 17 18 19 20 Nhãn Spam Ads Entertainment App RealEstale Villa Apartment House Lots Financial Bank Card Loans Promotion Harm Scam MoneyScam PasswordScam InfoScam Virus Micro avg Macro avg precision 96% 92% 73% 85% 81% 0% 89% 0% 0% 50% 100% 0% 57% 94% 82% 83% 81% 0% 0% 100% 89% 58% recall 93% 94% 14% 82% 59% 0% 73% 0% 0% 9% 14% 0% 40% 73% 79% 80% 78% 0% 0% 17% 78% 40% f1_score 95% 93% 24% 84% 68% 0% 80% 0% 0% 15% 25% 0% 47% 82% 80% 81% 80% 0% 0% 29% 83% 44% Accuracy Wall time 85% 543 s Trang 65 4.6.3.1 Tối ưu mô hình với GridSearch Thuật tốn ML-kNN có siêu tham số (hyperparameter) sau: k: Số hàng xóm gần (mặc định k=10) s: Tham số độ mịn (mặc định s=1) ignore_first_neighbours: Bỏ qua hàng xóm (mặc định = 0) Luận văn thực so sánh việc tối ưu siêu tham số với kịch bản: Sử dụng siêu tham số mặc định: k=10, s=1.0, ignore_first_neighbours=0 Sử dụng tham số theo kinh nghiệm (manual): k=5, s=0.7 Tối ưu tham số kiểm nghiệm mơ hình với tham số Luận văn thực tìm kiếm tham số tối ưu mơ hình với chiến lược sau: 𝒌 𝝐 {𝟓, 𝟏𝟐} : Số hàng xóm gần khoảng {𝟓, 𝟏𝟐} 𝒔 𝝐 {𝟎 𝟑, 𝟎 𝟓, 𝟎 𝟖, 𝟎 𝟗, 𝟏 𝟎}: độ mịn giá trị danh sách Tham số tối ưu mô hình thu k=12, s=1.0 sau thời gian chạy 9268.0 s Áp ngược lại mơ hình thực nghiệm với tham số mới, ta có bảng so sánh chất lượng phân lớp kịch sau: Bảng 4.11 Bảng so sánh chất lượng phân lớp sau tối ưu tham số mơ hình STT Tên tiêu chí 10 Hamming-Loss one-error coverage ranking loss Average Precision accuracy precision Recall f1_score Wall-times Trước tối ưu N=5, s=0.7 Trước tối ưu N=10, s=1.0 Sau tối ưu N=12, s=1.0 0.039 0.020 0.018 0.178 0.159 0.147 2.902 2.768 2.842 0.057 0.054 0.052 0.692 0.682 0.705 0.822 0.840 0.852 0.878 0.845 0.887 0.351 0.793 0.780 0.501 0.818 0.830 630 s 603 s 543 s 4.6.3.2 Nhận xét Rõ ràng việc lựa chọn tham số ảnh hưởng lớn đến chất lượng phân lớp, kỹ thuật tìm kiếm tham số tối ưu với GridSearch cho phép ta tối ưu thuật toán, cải thiện chất lượng phân lớp, điều cần thiết mơ hình tính tốn Trang 66 4.7 Nhận xét Đánh giá 4.7.1 So sánh chất lượng phân lớp thuật toán liệu thực nghiệm Kết thực nghiệm với Bộ liệu tin nhắn cho ta bảng thống kê độ đo phân lớp đa nhãn liệu thực nghiệm sau: Bảng 4.12 So sánh chất lượng phân lớp thuật toán liệu thực nghiệm STT Tên tiêu chí Hamming-Loss one-error coverage ranking loss Average Precision accuracy precision recall f1_score 10 Wall-times BR-GNB BR-SVC Mô hình BR-LOGR CC MLkNN 0.042 0.027 0.041 0.023 0.024 0.221 0.176 0.212 0.172 0.177 2.773 3.554 4.294 2.765 2.949 0.055 0.102 0.157 0.055 0.066 0.502 0.584 0.368 0.658 0.648 0.779 0.824 0.788 0.828 0.823 0.616 0.938 0.978 0.813 0.820 0.794 0.596 0.335 0.794 0.774 0.694 0.729 0.499 0.803 0.796 27.4 s 3.27 s 5.48 s 38.7 s 125 s Kết thực nghiệm với Bộ liệu tin nhắn cho ta số liệu sau: Bảng 4.13 So sánh chất lượng phân lớp thuật toán liệu thực nghiệm STT Tên tiêu chí Hamming-Loss one-error coverage ranking loss Average Precision accuracy precision recall f1_score 10 Wall-times BR-GNB BR-SVC Mơ hình BR-LOGR CC MLkNN 0.023 0.023 0.035 0.016 0.018 0.162 0.147 0.183 0.137 0.147 2.542 3.198 3.818 2.542 2.842 0.044 0.087 0.131 0.044 0.052 0.646 0.611 0.419 0.742 0.705 0.838 0.852 0.817 0.862 0.852 0.781 0.964 0.986 0.900 0.887 0.813 0.611 0.391 0.813 0.780 0.797 0.748 0.559 0.854 0.830 63 s 7.79 s 14.2 s 65 s 543 s Dựa vào kết thực nghiệm, ta có biểu đồ so sánh độ đo dựa mẫu: Hamming-Loss, One-Error, Ranking Loss, Average Presision liệu thực nghiệm sau: Trang 67 Bộ liệu thực nghiệm Bộ liệu thực nghiệm Hình 4.6 Biểu đồ so sánh ảnh hưởng độ lớn liệu (2 gói thực nghiệm) lên số Hamming-Loss, One-Error, Ranking loss Average Presision Biểu đồ số đánh giá dựa nhãn thực nghiệm liệu sau Bộ liệu thực nghiệm Bộ liệu thực nghiệm Hình 4.7 Biểu đồ so sánh ảnh hưởng độ lớn liệu (2 gói thực nghiệm) lên số Accuracy Score, Precision Score, Recall Score f1 Score 4.7.2 So sánh ảnh hưởng độ lớn liệu thời gian chạy thuật toán Dựa vào số liệu thống kê, ta có biểu đồ thể ảnh hưởng độ lớn liệu thời gian chạy thuật tốn sau: Hình 4.8 So sánh ảnh hưởng độ lớn liệu thời gian chạy thuật toán Trang 68 4.7.3 So sánh chất lượng phân loại trước sau đề xuất phương pháp cải tiến công đoạn tiền xử lý liệu Luận văn thực so sánh chất lượng phân loại với liệu thực nghiệm trường hợp: bỏ qua cơng đoạn chuẩn hóa từ tiếng Việt (trước cải tiến) thực chuẩn hóa từ theo thuật tốn từ điển đề xuất (sau cải tiến) Kết thu bảng sau: Bảng 4.14 So sánh chất lượng phân lớp trước sau cải tiến cơng đoạn chuẩn hóa từ tiếng Việt STT Tên tiêu chí 10 HammingLoss one-error coverage ranking loss Average Precision accuracy precision recall f1_score Wall-times Trước cải tiến BR- BRBRML- BRCC GNB SVC LR kNN GNB Sau cải tiến BR- BRCC SVC LR MLkNN 0.024 0.024 0.036 0.016 0.019 0.023 0.023 0.035 0.016 0.018 0.162 0.147 0.185 0.140 0.147 0.162 0.147 0.183 0.137 0.147 2.567 3.205 3.842 2.567 2.869 2.542 3.198 3.818 2.542 2.842 0.044 0.084 0.134 0.045 0.057 0.044 0.087 0.131 0.044 0.052 0.641 0.621 0.408 0.732 0.694 0.646 0.611 0.419 0.742 0.705 0.837 0.853 0.815 0.860 0.848 0.838 0.852 0.817 0.862 0.852 0.780 0.964 0.987 0.894 0.885 0.781 0.964 0.986 0.900 0.887 0.807 0.621 0.378 0.806 0.770 0.813 0.611 0.391 0.813 0.780 0.793 0.756 0.547 0.848 0.823 0.797 0.748 0.559 0.854 0.830 105 s 22.1 s 14.9 s 63 s 7.79 s 14.2 s 543 s 72 s 657 s 65 s Nhận xét: Mặc dù thay đổi không lớn, nhiên nhận thấy hầu hết thuật tốn lựa chọn cho kết tốt hơn: Các số lỗi phân nhãn hơn, độ lệch nhỏ hơn, độ xác cao hơn, độ xác trung bình, trung bình điều hịa (f1) tốt thời gian chạy thuật tốn có giảm đáng kể Rõ ràng phương pháp cải tiến chuẩn hóa liệu có ảnh hưởng tích cực đến chất lượng phân loại toán liệu cụ thể Trang 69 4.7.4 Nhận xét Dựa kết thực nghiệm, luận văn đưa nhật xét sau: Nhìn chung, độ lớn liệu ảnh hưởng rõ nét đến độ xác thuật tốn mơ hình phạm vi tốn luận văn này: Bộ liệu lớn cho độ xác cao hơn, tỷ lệ lỗi thấp hơn, số nhãn gán sai Do đó, tương lai ta hồn tồn thu kết tốt cách bổ sung thêm liệu tin nhắn mẫu vào kho liệu có Các thuật tốn mơ hình có xét mối quan hệ nhãn cho kết xác thuật tốn mơ hình khơng xét tới mối quan hệ Mơ hình MLkNN đem lại chất lượng tốt, nhiên thời gian dự đoán lâu, liệu lớn nhiều thời gian xử lý Thuật tốn Classifier Chains với mơ hình Gaussian Naïve Bayes tổng thể cho kết tốt thuật toán lựa chọn cho toán liệu tin nhắn văn tiếng Việt tốn Do nói thuật tốn Classifier Chains với mơ hình Gaussian Nạve Bayes mơ hình tốt phạm vi tốn luận văn Phương pháp GridSearch làm tăng thời gian tính tốn thử nghiệm, cho hiệu trình kiểm nghiệm sau Quá trình tìm kiếm tham số tối ưu thời gian tính tốn giảm đáng kể Trang 70 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Các kết đạt luận văn Tác giả nghiên cứu phân lớp đa nhãn văn tiếng Việt đạt số đóng góp sau đây: Thu thập, xây dựng liệu chuẩn tin nhắn văn tiếng Việt SMS công bố cho hướng nghiên cứu tương tự Đề xuất phương pháp cải tiến công đoạn tiền xử lý liệu xây dựng kho từ điển cho việc chuẩn hóa (Sterming) liệu tin nhắn văn Tiếng Việt Nghiên cứu sở lý thuyết mô hình phân lớp đơn nhãn phân lớp đa nhãn văn tiếng Việt Thử nghiệm đánh giá mơ hình áp dụng cho tốn phân loại tin nhắn văn tiếng Việt Lựa chọn mơ hình tối ưu cho tốn đặt Xây dựng ứng dụng giải toán nêu Hướng tới ứng dụng phân loại tin nhắn văn tiếng Việt hoàn toàn tự động Hạn chế luận văn Trong trình triển khai mơ hình, thời gian có hạn nên luận văn tồn số hạn chế sau: Chưa nghiên cứu toán số nhãn vơ lớn, có số hướng nghiên cứu để giảm số chiều toán LDA Tuy nhiên, toán gán nhãn văn tiếng Việt đa nhãn, nhu cầu số nhãn lớn, chưa phải cần thiết Chưa nghiên cứu vấn đề tách từ với liệu tin nhắn văn tiếng Việt đặc thù để giải toán thực tế (tin nhắn bao gồm tin nhắn tiếng Việt khơng dấu, có dấu tiếng Anh) Chưa thử nghiệm mơ hình cross-validating để nghiên cứu trường hợp overfiting liệu mẫu nhỏ Trang 71 Hướng nghiên cứu Trong thời gian tiếp theo, tác giả tiếp tục nghiên cứu hướng giải cho hạn chế tồn luận văn tiếp tục triển khai nội dung sau: Thu thập bổ sung kho liệu tin nhắn văn từ điển từ viết tắt cho mục đích học thuật Nghiên cứu hướng giải cho toán tách từ với liệu tin nhắn đặc thù (tin nhắn tiếng Việt khơng dấu có dấu) Nghiên cứu, áp dụng phương pháp cross-validating để giải toán liệu mẫu nhỏ imbalancing, tránh trường hợp overfiting Trang 72 TÀI LIỆU THAM KHẢO TIẾNG ANH [1] Cortes, C & Vapnik, V Mach Learn (1995), “Support-Vector Networks”, Kluwer Academic Publishers, 20(3), pp 273-279 [2] Cramer, J S (2002) “The origins of logistic regression”, Tinbergen Institute Discussion Paper, Faculty of Economics and Econometrics, University of Amsterdam, and Tinbergen Institute, 119(4), pp 2–7 [3] J Read (2010), Scalable Multi-label Classification (Thesis, Doctor of Philosophy (PhD)), University of Waikato, Hamilton, New Zealand [4] Krishni Hewa, An introduction to Grid Search, https://medium.com/datadriveninvestor/an-introduction-to-grid-searchff57adcc0998 [5] L Breiman, J Friedman, R Olshen, and C Stone (1984), Classification and Regression Trees, Wadsworth, Belmont, CA [6] M.-L Zhang, J M Pe˜na, V Robles (2009), Feature selection for multi-label Naăve bayes classification, Information Sciences”, 179(19), pp 3218-3229 [7] M L Zhang, Z H Zhou (2014), “A Review on Multi-Label Learning Algorithms”, IEEE transactions on knowledge and data engineering, 26(8), pp 1819-1837 [8] M L Zhang, Z H Zhou (2007), “ML-KNN: A Lazy Learning Approach to Multi-Label Learning”, Pattern Recogn, 40, pp 2038–2048 [9] M R Boutell, J Luo, X Shen, C.M Brown (2004) “Learning multi-label scene classification”, Pattern Recognition, 37 (9), pp 1757–1771 TIẾNG VIỆT [10] Nguyễn Chí Dũng, Chặn tin nhắn rác (Spam) với Bayes ngây thơ, https://rpubs.com/chidungkt/305371 [11] Phạm Thị Thài, Phạm Thị Quyền Trang, Phạm Thúy Huỳnh Huỳnh Chí Nghĩa (2013), “Thực trạng ngôn ngữ nhắn tin (SMS language) sinh viên trường Đại học Cần Thơ học sinh THPT Trần Đại Nghĩa”, Tạp chí khoa học trường Đại học Cần Thơ, Phần C: Khoa học Xã hội, Nhân văn Giáo dục, 26, tr 55-63 Trang 73 ... luận văn sâu vào sở lý thuyết việc phân tích ngơn ngữ áp dụng toán phân loại tin nhắn văn làm tiền đề cho trình thực nghiệm luận văn Phân lớp đa nhãn ứng dụng cho toán phân loại tin nhắn văn SMS. .. tự danh sách trắng Phân lớp đa nhãn ứng dụng cho toán phân loại tin nhắn văn SMS Trang 12 1.4.2 Lọc tin nhắn dựa vào nội dung 1.4.2.1 Cấu trúc tin nhắn SMS Cấu trúc tin nhắn SMS gửi chia làm phần... “Hello” Phân lớp đa nhãn ứng dụng cho toán phân loại tin nhắn văn SMS Trang 13 Bảng 1.3 So sánh cấu trúc Tin nhắn SMS với thư điện tử (email) Yếu tố Thư điện tử Tin nhắn SMS 160 ký tự (Tin nhắn