Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
1,42 MB
Nội dung
BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM NGÔ DUY CHINH XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN SPAM EMAIL BẰNG BỘ PHÂN LỚP SVM LUẬN VĂN THẠC SĨ NGÀNH KỸ THUẬT HẢI PHÒNG, 2016 BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM NGÔ DUY CHINH XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN SPAM EMAIL BẰNG BỘ PHÂN LỚP SVM LUẬN VĂN THẠC SĨ NGÀNH KỸ THUẬT NGÀNH: CÔNG NGHỆ THÔNG TIN MÃ SỐ: 60480201 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: TS Nguyễn Hữu Tuân HẢI PHÒNG, 2016 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 15 tháng năm 2016 Ngô Duy Chinh i 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 hoàn thành Trường Đại học Hàng Hải Việt Nam Để có luận văn tốt nghiệp này, xin bày tỏ lòng biết ơn chân thành sâu sắc đến Trường Đại học Hàng Hải Việt Nam, Viện Đào tạo sau Đại học, đặc biệt Tiến sỹ Nguyễn Hữu Tuân trực tiếp hướng dẫn, dìu dắt, giúp đỡ 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 toàn thời gian khóa học Cuối cùng, muốn gửi lời cảm ơn sâu sắc đến gia đình, bạn bè kịp thời động viên, giúp đỡ vượt qua khó khăn để hoàn thành luận văn Mặc dù có nhiều cố gắng để thực đề tài cách hoàn chỉnh 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ệ hạn chế kiến thức kinh nghiệm nên tránh khỏi thiếu sót định mà thân chưa nhận thức Tôi mong góp ý Quý thầy, cô bạn để đề tài hoàn chỉnh Xin chân thành cảm ơn! ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU vi DANH MỤC CÁC BẢNG vii DANH MỤC CÁC HÌNH viii MỞ ĐẦU Chương TỔNG QUAN VỀ SPAM EMAIL VÀ CÁC PHƯƠNG PHÁP LỌC SPAM EMAIL 1.1 Định nghĩa spam email: 1.2 Các loại spam email 1.2.1 Spam email tiếng Anh 1.2.2 Spam email tiếng Việt 1.3 Đặc trưng spam email: 1.4 Tác hại spam email 1.5 Phương thức hoạt động spam email 1.5.1 Quy trình chung 1.5.2 Thu thập địa email 1.5.3 Tìm kiếm máy chủ internet cho phép phát tán spam email 1.6 Phương pháp phân loại spam email 10 1.6.1 Lọc thư dựa vào địa IP 10 1.6.2 Lọc thư dựa vào đặc tính thư spam 12 1.6.3 Lọc thư spam dựa vào nội dung 13 1.6.4 Lọc thư sử dụng phương pháp xác thực 14 1.6.5 Lọc thư spam dựa vào cài đặt thuật toán 15 1.7 Tổng kết chương 17 iii Chương KỸ THUẬT PHÂN TÍCH NỘI DUNG THÀNH TỪ KHÓA 18 2.1 Từ khóa phương pháp trích chọn từ khóa 18 2.1.1 Tổng quan trích chọn từ khóa 18 2.1.2 Một số phương pháp trích chọn từ khóa 18 2.2 Phân loại từ khóa 19 2.3 Các vấn đề gặp phải 23 2.4 Tổng kết chương 25 CHƯƠNG SUPPORT VECTOR MACHINE VÀ HÀM NHÂN 26 3.1 Tổng quan phân lớp liệu 26 3.1.1 Xây dựng mô hình: 26 3.1.2 Sử dụng mô hình 27 3.2 Support vector machine (SVM) 27 3.2.1 Tổng quan SVM 27 3.2.2 Cơ sở lý thuyết 29 3.2.3 Bài toán phân lớp nhị phân với SVM 30 3.2.4 Bài toán nhiều phân lớp với SVM 31 3.2.5 Các bước phương pháp SVM 31 3.2.6 So sánh số cải tiến 32 3.2.7 Một số ứng dụng SVM 32 3.3 Hàm nhân ( Kernel Function) 33 3.3.1 Khái niệm 33 3.3.2 Hàm nhân máy học tuyến tính 34 3.3.4 Hàm nhân Kernel mô hình SVM 35 3.3.5 Hàm nhân fisher 37 3.3.6 Hàm nhân RBF ( Gaussian Kernel) 39 3.4 Tổng kết chương 42 CHƯƠNG XÂY DỰNG HỆ THỐNG PHÁT HIỆN SPAM EMAIL SỬ DỤNG SVM 43 iv 4.1 Phân loại email sử dụng SVM 43 4.1.1 Bộ từ khóa tần suất xuất 43 4.1.2 Mô hình huấn luyện 45 4.1.3 Huấn luyện mẫu liệu sẵn có 45 4.1.4 Kiểm thử mức độ tốt phân lớp thu 46 4.2 Ứng dụng phát spam 47 4.2.1 Tâ ̣p hơ ̣p dữ liêụ huấ n luyê ̣n 47 4.2.2 Tổ chức xây dựng sở dữ liêụ 48 4.2.3 Mô hin ̀ h huấ n luyê ̣n SVM 51 4.2.3 Phát hiêṇ spam mô hiǹ h email thực tế với bô ̣ phân lớp thu đươ ̣c.54 4.3 Đánh giá 55 4.4 Tổng kết chương 57 KẾT LUẬN 58 KIẾN NGHỊ 59 TÀI LIỆU THAM KHẢO 60 v DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU Chữ viết tắt Giải thích SVM Support Vector Machine vi DANH MỤC CÁC BẢNG Số bảng 3.1 4.1 Tên bảng Một số hàm nhân thông dụng Kết phân lớp thu Trang 37 55 vii DANH MỤC CÁC HÌNH Số hình Tên hình 1.1 Minh họa spam email Tiếng Anh 1.2 Minh họa spam email Tiếng Việt Thống kê quốc gia có tỉ lên spam email cao số lượng 1.3 spam email năm 2015 1.4 Minh họa gửi mail qua SMTP Relay Server 1.5 Minh họa cách gửi spam email qua open relay mail server 3.1 Bài toán phân lớp nhị phân phương pháp SVM 3.2 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Ứng dụng SVM toán nhận dạng phân lớp Minh họa mẫu liệu training cho email spam Xây dựng từ khóa dựa từ điển tần suất xuất Tham số cho mô hình SVM Mô hình hóa liệu mặt phẳng không gian Kiểm thử với nội dung email khuyến Ứng dụng get email từ email server phát mẫu spam Minh họa cho việc phát hiên spam sai Gmail viii Trang 31 33 48 51 52 53 54 55 56 Mỗi đối tượng văn V(xi, yi) gán nhãn (mẫu spam) -1 (mẫu hợp lệ) Từ xây dựng tập hợp mẫu liệu huấn luyện đưa vào trình training Do đa số mẫu liệu khó đảm báo tính phân chia tuyến tính cho mô hình SVM, luận văn sử dụng hàm nhân RFB Kernel, vốn đánh giá hàm nhân tốt cho đa số toán phân lớp SVM Nhằm đánh giá tốt hiệu phân lớp thu được, toàn mẫu liệu phân lớp chia thành bộ: Bộ liệu sử dụng để tiến hành huấn luyện: 70% số mẫu có Bộ liệu sử dụng để đánh giá mức độ tốt phân lớp thu được: 30% số mẫu có Việc phân chia số lượng mẫu huấn luyện kiểm thử nhằm đánh giá tốt hiệu thu thuật toán phương thức xác định đặc trưng, đồng thời có số liệu khách quan nhằm hiệu chỉnh tham số huấn luyện mô hình phân lớp SVM cách thức xác định vector đặc trưng cách hợp lý 4.1.4 Kiểm thử mức độ tốt phân lớp thu Việc đánh giá mức độ tốt tiến hành sau hoàn thành trình huấn luyện hệ thống dựa phương pháp phân lớp SVM hàm nhân Kernel đề cập trước Như đề cập đây, việc đánh giá lại phân lớp thu yêu cầu cần thiết trình training nhằm hiệu chỉnh tham số trình tạo phân lớp để thu kết chấp nhận phạm vi nghiên cứu ứng dụng đề tài Quá trình tiến hành 30% mẫu liệu phân tách trước Cần lưu ý mẫu liệu không thuộc mẫu liệu đưa vào trình huấn luyện Trên thực tế, mẫu liệu training, tỉ suất phân lớp xác không đạt 100% vấn đề nhiễu mẫu liệu 46 khó phân tách Ngoài ra, vấn đề overfitting ảnh hưởng nhiều trình xác định xây dựng mặt phẳng phân lớp hợp lý mô hình toán Đa số mô hình phân lớp chấp nhận mức độ sai số phù hợp 1-3% trình training nhằm tránh việc phân lớp thu khít mẫu liệu đưa vào huấn luyện Vấn đề phát sinh yếu tố: Mẫu liệu đầu vào dưa đủ lớn để đại diện cách toàn đối tượng cần xem xét thực tế Việc training khít liệu tiềm ẩn nhiều rủi ro làm tính tổng quát hóa mặt phẳng phân lớp thu được, bỏ sót đặc trưng riêng biệt đối tương đưa vào ứng dụng thực tiễn Mẫu liệu đầu vào chứa nhiều nhiễu, hay đối tượng bị phân lớp sai khó để phân định cách rạch ròi phân lớp hàm chứa chúng Bộ phân lớp sau thu tiến hành kiểm thử xác định tỉ lệ phân lớp xác liệu test Tỉ lệ xác xác định mức độ tốt mô hình học thuật phương pháp trích chọn đặc trưng sử dụng luận văn 4.2 Ứng dụng phát spam Với sở lý thuyết cách thức tiếp cận giải vấn đề nêu trên, luận văn tiến hành xây dựng ứng dụng phát spam, với quy mô nhỏ, tập hợp khoảng 200 mẫu liệu tiến hành phân tích huấn luyện (Nguồn liệu lấy trực tiếp từ email tác giả trình thực luận văn) Từ sử dụng phân lớp thu tiến hành phát spam email thực tế Ứng du ̣ng đươ ̣c xây dựng nề n tảng công nghê ̣ Net và sở dữ liê ̣u Microsoft SQL Server, sở ho ̣c thuâ ̣t về mô hình SVM kế t hơ ̣p cùng hàm nhân BRF Kernel đã đươ ̣c đề câ ̣p ở các phầ n 4.2.1 Tâ ̣p hơ ̣p dữ liêụ huấ n luyêṇ Như đã đươ ̣c đề câ ̣p ở trên, bô ̣ dữ liêụ huấ n luyê ̣n đươ ̣c đưa vào mô hiǹ h ̣ 47 thố ng bao gồ m 200 mẫu email Trong đó bao gồ m 100 mẫu email hợp lệ và 100 mẫu spam Các bô ̣ mẫu dữ liê ̣u thuô ̣c phân lớp email đa số có nô ̣i dung liên quan đế n trao đổ i công viê ̣c và thông báo lich ̣ công tác Trong đó các mẫu dữ liêụ thuô ̣c phân lớp spam email phầ n lớn có chứa các nô ̣i dung quảng cáo, thư mời tuyể n du ̣ng và dich ̣ vu ̣ khuyế n maĩ Tâ ̣p hơ ̣p các mẫu dữ liê ̣u đươ ̣c phân thành nhóm dữ liê ̣u: Nhóm dữ liê ̣u training: bao gồ m 100 mẫu dữ liêụ email hợp lệ và 100 mẫu dữ liê ̣u spam Mu ̣c đić h nhằ m sử du ̣ng để huấ n luyê ̣n và ta ̣o bô ̣ phân lớp sở quá trin ̀ h trích rút đă ̣c trưng và training với mô hiǹ h SVM và hàm nhân BRF Kernel Hình 4.1 Minh họa mẫu liệu training cho email spam Nhóm dữ liê ̣u kiể m thử: bao gồ m 10 mẫu dữ liêụ email hợp lệ và 10 mẫu dữ liêụ spam Các mẫu dữ liêụ này đươ ̣c sử du ̣ng quá trình kiể m thử và đánh giá mức đô ̣ chính xác của bô ̣ phân lớp thu đươ ̣c sau quá trình training 4.2.2 Tổ chức xây dựng sở dữ liêụ Về bản, ứng du ̣ng sử du ̣ng các bô ̣ dữ liêụ huấ n luyê ̣n đã đươ ̣c đưa vào quá trình training, tiế n hành trích rút và lưu trữ các đă ̣c trưng để nhằ m ta ̣o các vectơ đầ u vào cho bô ̣ huấ n luyê ̣n SVM Các giá tri ̣ tro ̣ng số của bô ̣ phân lớp thu đươ ̣c sẽ đươ ̣c sử du ̣ng để kiể m thử và phân loa ̣i email từ server mail thực tế Để phu ̣c vu ̣ cho quá trình trên, ứng du ̣ng lưu trữ tâ ̣p hơ ̣p từ khóa bản và 48 bô ̣ từ khóa trích rút đă ̣c trưng Các từ khóa bản đươ ̣c sử du ̣ng nhằ m xác đinh ̣ số lươ ̣ng từ khóa có mỗi đố i tươ ̣ng văn bản, đó bô ̣ từ khóa trích rút đă ̣c trưng đươ ̣c sử du ̣ng quá triǹ h xác đinh ̣ các vectơ đă ̣c trưng cu ̣ thể cho mỗi mẫu văn bản Trong đó bô ̣ từ khóa trích rút đă ̣c trưng đươ ̣c phân chia thành nhiề u nhóm từ Mỗi nhóm từ đề u đươ ̣c lưu trữ và phân biêṭ rõ ràng theo từng nhañ cu ̣ thể Các mẫu dữ liêụ huấ n luyê ̣n cũng đươ ̣c tiế n hành lưu trữ theo nhañ cu ̣ thể : mẫu dữ liêụ email và mẫu dữ liêụ spam Viê ̣c tiế n hành lưu trữ các mẫu dữ liêụ nhằ m phu ̣c vu ̣ cho quá trình quản lý dữ liêụ cũng huấ n luyê ̣n và kiể m thử liên tu ̣c đố i với quá trình training sau này Ứng du ̣ng sử du ̣ng ̣ quản tri ̣cơ sở dữ liêụ SQL Server 2012 của Microsoft Cấ u trúc lưu trữ đươ ̣c cấ u ta ̣o theo từng bảng Đố i tượng dữ liê ̣u huấ n luyê ̣n Nhóm đố i tươ ̣ng dữ liê ̣u huấ n luyê ̣n bao gồ m tâ ̣p hơ ̣p dữ liêụ nhằ m phu ̣ vu ̣ cho quá trin ̀ h huấ n luyê ̣n ̣ thố ng để ta ̣o bô ̣ phân lớp sau này Như đã đươ ̣c đề câ ̣p, tâ ̣p hơ ̣p dữ liê ̣u này bao gồ m loa ̣i: đố i tươ ̣ng dữ liêụ email hợp lệ và đố i tươ ̣ng dữ liêụ spam Các đố i tươ ̣ng dữ liêụ này cũng đươ ̣c lưu trữ với nhañ riêng biêṭ cùng mô ̣t table, mỗi row tương ứng với mô ̣t đố i tươ ̣ng văn bản đươ ̣c lưu trữ, đó có chứa field Type nhằ m xác đinh ̣ nhañ (email hoă ̣c spam) cho đố i tươ ̣ng văn bản - ID: mã id của văn bản - Title: tiêu đề văn bản - Content: nô ̣i dung văn bản - Type: loa ̣i văn bản (1: email, 0: spam) Dựa viê ̣c lưu trữ trên, ứng du ̣ng sử du ̣ng các phương thức trích rút đă ̣c trưng và tiế n hành đưa vào huấ n luyê ̣n với 100 mẫu email hợp lệ và 100 mẫu spam đầ u tiên Sau đó sử du ̣ng 500 mẫu email và 500 mẫu spam còn la ̣i để tiế n hành 49 kiể m thử và đánh giá mức đô ̣ tố t của bô ̣ phân lớp thu đươ ̣c Đố i tượng dữ liê ̣u đặc trưng Nhóm đố i tươ ̣ng dữ liê ̣u đă ̣c trưng bao gồ m tâ ̣p hơ ̣p dữ liêụ nhằ m phu ̣c vu ̣ cho quá trin ̣ đă ̣c trưng của mỗi đố i tươ ̣ng văn bản Trong đó: ̀ h xác đinh Bô ̣ từ khóa bản: lưu trữ table riêng Mỗi row tương ứng với mô ̣t từ khóa Cấ u trúc lưu trữ bao gồ m: - ID: mã id của từ khóa - Keyword: nô ̣i dung từ khóa Nhóm từ khóa trích rút đặc trưng: Nhóm (danh mục) từ khóa đặc trưng lưu trữ table riêng, mỗi row tương ứng với mô ̣t nhóm từ, đinh ̣ nghiã các nhóm từ khóa đươ ̣c lưu trữ nhằ m trích rút đă ̣c trưng Cấ u trúc lưu trữ bao gồ m: - ID: mã id của nhóm từ khóa - Name: tên của nhóm từ khóa Bộ từ khóa trích rút đặc trưng: Bộ từ khóa trích rút đặc trưng lưu trữ table riêng, mỗi row tương ứng với mô ̣t từ khóa, đó có chứa field Category nhằ m xác đinh ̣ nhañ cho từ khóa, đinh ̣ nghiã từ khóa thuô ̣c nhóm từ nào Cấ u trúc lưu trữ bao gồ m: - ID: mã id của từ khóa - Keyword: nô ̣i dung từ khóa - CategoryId: id của nhóm từ Như đề cập chương trước, việc xây dựng từ khóa chương trình sử dụng từ điển tự xây dựng từ khóa lấy bán tự động dựa vào việc đếm từ xây dựng từ điển tần suất xuất email 50 Hình 4.2 Xây dựng từ khóa dựa từ điển tần suất xuất 4.2.3 Mô hin ̀ h huấ n luyêṇ SVM Với các vấ n đề về ho ̣c thuâ ̣t đươ ̣c chỉ đây, bản luâ ̣n văn tiế n hành sử du ̣ng mô hình SVM phân lớp kế t hơ ̣p với hàm nhân BRF Kernel để thực hiêṇ quá trình huấ n luyê ̣n Hiê ̣n có khá nhiề u thư viê ̣n cung cấ p công cu ̣ tố t cho machine learning Trong đó bô ̣ thư viêṇ Accord.Net đươ ̣c sử du ̣ng khá nhiề u bởi tiń h đơn giản và sự linh hoa ̣t sử du ̣ng nề n tảng công nghê ̣ Net của Microsoft Bộ thư viện Accord.Net bao gồm phạm vi rộng ứng dụng tính toán khoa học, chẳng hạn xử lý số liệu thống kê, học máy, nhận dạng mẫu, xử lý đa phương tiện nhận dạng giọng nói Bộ thư viện cung cấp số lượng lớn thư viện tính toán xác suất, kiểm tra giả thuyết, thư viện hàm nhân thông dụng, hỗ trợ cho phép đo hiệu suất kỹ thuật Do đó, bản luâ ̣n văn lựa cho ̣n sử du ̣ng thư viêṇ viêc̣ xây dựng ứng du ̣ng thực tế Thư viện Accord.Net Net cung cấ p sẵn namespace Accord.MachineLearning.VectorMachines cho mô hình huấ n luyê ̣n theo SVM Trong đó cung cấ p class KernelSupportVectorMachine cho các tác vu ̣ liên quan 51 đế n SVM có sử du ̣ng hàm nhân Class này cũng cung cấ p sẵn các phương thức khởi ta ̣o bô ̣ huấ n luyê ̣n, cũng các tham số cu ̣ thể quá trình training Qua quá trình phân tích và đánh giá cu ̣ thể , bản luâ ̣n văn lựa cho ̣n sử du ̣ng hàm nhân BRF Kernel cho bô ̣ huấ n luyê ̣n SVM xây dựng Viê ̣c sử du ̣ng hàm nhân này cũng đươ ̣c Accord hỗ trơ ̣ sẵn nhờ các tham số lựa cho ̣n hàm nhân quá trình huấ n luyê ̣n thông qua lớp GaussianKernel đã đươ ̣c cung cấ p Các tham số đươ ̣c sử du ̣ng đố i với bô ̣ phân lớp SVM đươ ̣c điề u chỉnh mô ̣t cách tùy ý ta ̣i giao diê ̣n ứng du ̣ng Trong đó: - Errors : chỉ số lỗi của bô ̣ phân lớp - Sigma : giá tri ̣sigma quá triǹ h huấ n luyê ̣n - Complexity : độ phức tạp (lộn xộn) quá trình huấ n luyê ̣n - Kernel : BRF Kernel Hình 4.3 Tham số cho mô hình SVM Với các tham số huấ n luyê ̣n trên, bản luâ ̣n văn đã tiế n hành xây dựng ứng du ̣ng thực tế với các luồ ng xử lý bản theo trình tự sau: Xác đinh ̣ đă ̣c trưng cho từng đố i tươ ̣ng văn bản email và spam: đã đươ ̣c đề câ ̣p đây, bản luâ ̣n văn sử du ̣ng đă ̣c trưng bản đố i với mỗi đố i tươ ̣ng văn bản Mỗi văn bản đề u xác đinh ̣ đươ ̣c giá tri ̣đă ̣c trưng này, qua đó ta ̣o lâ ̣p mô ̣t că ̣p số thực Că ̣p số này có thể đươ ̣c biể u diễn mă ̣t phẳ ng to ̣a đô ̣ xOy, với: tru ̣c Ox: thể hiêṇ số lươ ̣ng keywords có văn bản, tru ̣c Oy: thể hiêṇ tầ n suấ t xuấ t hiêṇ của keywords văn bản Hay hơn, có thể nói că ̣p giá tri ̣ này thể hiêṇ mô ̣t cách trực quan hóa đố i tươ ̣ng văn bản mă ̣t phẳ ng to ̣a đô ̣ xOy 52 Hình 4.4 Mô hình hóa liệu mặt phẳng không gian Sử du ̣ng các phương thức đã đươ ̣c cung cấ p của bô ̣ thư viêṇ Accord để tiế n hành khởi ta ̣o bô ̣ phân lớp SVM với hàm nhân BRF Kernel Tính toán và thu nhâ ̣n bô ̣ tro ̣ng số từ bô ̣ phân lớp thu đươ ̣c Tiế n hành xác đinh ̣ la ̣i đă ̣c trưng cho tâ ̣p dữ liêụ test còn la ̣i, sử du ̣ng bô ̣ phân lớp mới thu đươ ̣c để xác đinh ̣ mức đô ̣ tố t của mô hình ho ̣c thuâ ̣t Để xác định kết có xác hay không, tiến hành kiểm tra thủ công nội dung email cụ thể sử dụng phân lớp thu sau trình huấn luyện 53 Hình 4.5 Kiểm thử với nội dung email khuyến 4.2.3 Phát hiêṇ spam mô hin ̀ h email thư ̣c tế với bô ̣ phân lớp thu đươ ̣c Với bô ̣ phân lớp vừa thu nhâ ̣n đươ ̣c sau quá triǹ h huấ n luyê ̣n, bản luâ ̣n văn tiế n hành xây dựng mô ̣t module thực nghiê ̣m với bô ̣ dữ liê ̣u thực tế Để làm đươ ̣c điề u này, bản luâ ̣n văn tiế n hành lấ y toàn bô ̣ dữ liêụ từ server mail thông qua phương thức POP3 đã đươ ̣c cung cấ p sẵn bô ̣ thư viêṇ Net của Microsoft mã nguồn mở OpenPOP Với mỗi email thu nhâ ̣n đươ ̣c, sử du ̣ng các phương thức trích rút đă ̣c trưng trước đó nhằ m xác đinh ̣ vecto đă ̣c trưng của văn bản, từ đó tiế n hành đưa vecto đă ̣c trưng vào bô ̣ phân lớp có và nhâ ̣n về nhañ của văn bản, xác đinh ̣ rõ văn bản là email hợp lệ hay spam Số lươ ̣ng email đươ ̣c lấ y về từ host mail có thể điề u chỉnh mô ̣t cách tùy ý thông qua giao diêṇ ứng du ̣ng Viê ̣c nhâ ̣n diêṇ email hay spam đươ ̣c thực hiêṇ mô ̣t cách tuầ n tự đố i với các văn bản đươ ̣c lấ y về từ server 54 Hình 4.6 Ứng dụng get email từ email server phát mẫu spam 4.3 Đánh giá Với hệ thống phát spam thông qua mô hình phát triển mạng phân lớp SVM, kết hợp với hàm nhân Kernel có, kết thu khuôn khổ toán luận văn đưa khả quan Sử dụng SVM để phân lớp cho kết sau : Số mẫu 100 Email phát 98 Email phát sai Spam phát 90 Spam phát sai 10 Bảng 4.1 Kết phân lớp thu Kết cho thấy tỉ lệ phát email hợp lệ đạt 98% tỉ lệ phát spam email đạt 90%, kết phụ thuộc hoàn toàn vào việc xây dựng từ khóa số lượng mẫu dùng mô hình huấn luyện Việc xây dựng đặc trưng chuẩn với việc huấn luyện nhiều mẫu thử cho kết tối ưu Để có nhìn tổng quát đánh giá xác hiệu mô hình thu được, luận văn tiến hành so sánh với việc lọc spam Gmail Theo đó, 100% mẫu spam email để huấn luyện thử nghiệm kết được lấy từ thư mục spam Gmail Trên thực tế, Gmail sử dụng nhiều lọc khác để phát spam đề cập phần chương Trong đó, lọc sử dụng phần lớn lọc thông qua địa IP, lọc thông qua địa người gửi, lọc 55 thông qua tiêu đề lọc thông qua hành vi người dùng Có lưu ý hành vi người dùng việc người nhận email đánh dấu email spam sau email từ người gửi tự động cho vào thư mục spam việc sau họ có gửi nội dung quan trọng đến đâu Trong trình so sánh, luận văn thu hai kết sau: - Việc lọc spam email Gmail mạnh, việc lấy toàn tập liệu huấn luyện từ gmail sau trình kiểm tra chương trình cho kết đạt 98% 92% kết tương đối - Việc chương trình làm tốt Gmail xảy trường hợp lấy địa người gửi tin cậy để gửi nội dung Gmail đánh dấu spam Trong trường hợp này, chương trình hoàn toàn phát tốt Gmail chương trình sử dụng phương pháp lọc theo nội dung thay IP, địa gửi gửi hành vi người nhận Gmail Như minh họa đây, email “test mail” nhận dạng spam chương trình phần gửi người gửi tin cậy hoàn toàn cho vào thư mục inbox đánh dấu quan trọng Gmail Tuy nhiên thực tế trường hợp xảy Hình 4.7 Minh họa cho việc phát hiên spam sai Gmail Các kết nhận từ thực nghiệm chứng minh cách rõ nét vấn đề luận văn đặt ra: 56 Mô hình SVM kết hợp với hàm nhân RFB Kernel có khả đưa phân lớp với chất lượng phân lớp tốt khuôn khổ toán đưa luận văn Điều cho thấy cách tiếp cận tốt cho vấn đề đưa ra, có khả năn tiệm cận tới khả phát triển ứng dụng thực tế Cách thức xác định đặc trưng sử dụng tập hợp từ khóa phân chia thành nhiều nhóm từ vựng, kết hợp với tần suất xuất từ khóa toàn văn bản, tương đối thô sơ, đem lại hiệu đáng ý Tất nhiên chất lượng phân lớp thu phụ thuộc phần lớn vào mô hình học thuật đưa ra, tham số truyền vào trình huấn luyện, nhiên bản, cách xác định đặc trưng phần chứng minh hướng tiếp cận toán luận văn có sở khoa học tính ứng dụng thực tiễn Đây vấn đề mà luận văn đề cập đến Tất nhiên lý thuyết, mô hình chứng minh hiệu không gian nhỏ hẹp mẫu liệu có, bó hẹp toán phát spam Tuy nhiên có sở để tin rằng, với luận điểm số liệu đưa ra, kỹ thuật SVM nói chung phù hợp cho toán phân lớp liệu khó nhận dạng Việc nhận dạng spam email nên kết hợp nhiều phương pháp khác nhau, kết hợp lọc theo địa chỉ, hành vi nội dung cho kết tốt 4.4 Tổng kết chương Việc sử dụng SVM phát spam qua thực nghiệm thực đem lại kết đáng khả quan Kết việc sai số mức chấp nhận Điều chứng minh có sở để tin tưởng vào việc sử dụng SVM vấn đề Tất nhiên việc sử dụng đặc trưng nào, với mô hình cụ thể để đạt hiệu tốt cần thêm thời gian nghiên cứu 57 KẾT LUẬN Với vấn đề đề cập đến trên, luận văn đưa thực trạng vấn đề phân lớp nói chung phát spam nói riêng, khó khăn gặp phải trình nghiên cứu, thử nghiệm triển khai thực tế Một vài phương pháp tiếp cận vấn đề đưa phân tích nghiên cứu, nhằm hướng đến việc tiếp cận mô hình cụ thể giải vấn đề trên, xây dựng phát triển tảng sở sử dụng giải thuật SVM toán phân lớp liệu Với kết nhận từ thực nghiệm, thấy có sở để tin tưởng vào kết khả quan việc ứng dụng giải thuật SVM, kết hợp với phương pháp trích chọn đặc trưng hợp lí cho toán phát spam Trên thực tế, để xây dựng ứng dụng có tính thực tiễn cao cần giải loạt vấn đề khác hiệu suất, tính bảo mật Đồng thời, muốn phát spam email hiệu nhất, phải kết hợp phương pháp lọc email theo địa IP, email người gửi, tiêu đề email với phương pháp kết hợp lọc theo nội dung Tuy nhiên với đạt được, phần luận văn đưa cách tiếp cận khả quan cho vấn đề nêu Điều chứng minh luận văn đề đề xuất giải pháp hiệu cho vấn đề phân lớp liệu, mà cụ thể phát spam, vấn đề khó quan tâm nhiều thời gian qua 58 KIẾN NGHỊ Mặc dù vấn đề phát spam nghiên cứu phát triển thời gian dài, nhiên hầu hết giải pháp đưa dừng lại việc phát spam mô hình Trong phần thực nghiệm, việc sử dụng API OpenPop chưa đạt kết cao việc lấy liệu email về, cụ thể lấy mail Inbox, chưa lấy email nằm thư mục khác Spam, Trash nhà cung cấp chưa so sánh trực tiếp kết với phương pháp phân loại email spam với dịch vụ mail Google, Yahoo,AOL, Hơn nữa, việc xây dựng từ điển thủ công hạn chế, tích hợp với từ điển dễ dàng xây dựng từ khóa Để giải pháp thực ứng dụng thực tế, đòi hỏi nhiều thời gian nghiên cứu thử nghiệm Quá trình thời gian công sức, đòi hỏi cần đầu tư cách kĩ lưỡng nghiêm túc 59 TÀI LIỆU THAM KHẢO Tiếng Việt Nguyễn Linh Giang, Nguyễn Mạnh Hiền (2004), Phân loại văn tiếng Việt với phân loại vector hỗ trợ, Bài báo khoa học, Hà Nội Phan Hữu Tiếp (2011), Nghiên cứu xây dựng lọc spam thông minh tự động, Bài báo khoa học, Biên Hòa Lương Quốc Sơn, Xây dựng lọc thư rác hỗ trợ song ngữ Anh – Việt, Luận văn thạc sĩ công nghệ thông tin, trường Đại học Lạc Hồng, Biên Hòa Tiếng Anh Thorsten Joachims, Text Categorization with Support Vector Machines: Learning with Many Relevant Features, University at Dortmund Informatik LS8, Baroper Str 301 44221 Dortmund, Germany Vladimir N Vapnik (1999), The Nature of Statistical Learning Theory Second Edition, Springer Steve R Gunn (10 May 1998), Support Vector Machines for Classification and Regression, Technical Report, Faculty of Engineering, Science and Mathematics School of Electronics and Computer Science, University of Southamton, English Website https://en.wikipedia.org/wiki/Support_vector_machine http://www.trendmicro.com/us/security-intelligence/current-threat-activity /global-spam-map/ 60 ... gồm chương: Chương I: Tổng quan spam email phương pháp phân loại spam email Chương II: Kỹ thuật phân tích nội dung thành từ khóa Chương III: SVM hàm nhân Chương IV: Xây dựng hệ thống phát spam email. .. điểm đặc trưng spam email - Kỹ thuật phân tích nội dung email thành từ khóa, đặc điểm - Hàm nhân sử dụng với SVM - Phương pháp phân lớp SVM cho toán phát spam email - Xây dựng chương trình mail client...BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM NGÔ DUY CHINH XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN SPAM EMAIL BẰNG BỘ PHÂN LỚP SVM LUẬN VĂN THẠC SĨ