Tìm hiểu thuật toán naïve bayes và xây dựng bộ lọc spam cho email

46 104 0
Tìm hiểu thuật toán naïve bayes và xây dựng bộ lọc spam cho email

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

-i- TRƢỜNG ĐẠI HỌC VINH 004 KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN ĐỨC CA BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: Tìm hiểu thuật tốn Nạve Bayes xây dựng lọc Spam cho Email Nghệ An, tháng 12 năm 2014 -ii- TRƢỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: Tìm hiểu thuật tốn Nạve Bayes xây dựng lọc Spam cho Email Sinh viên thực hiện: Nguyễn Đức Ca– 1051070440 Lớp: 51K1- CNTT Giáo viên hướng dẫn: TS Hoàng Hữu Việt Nghệ An, tháng 12 năm 2014 -iii- MỞ ĐẦU .1 CHƢƠNG 1: TỔNG QUAN VỀ THƢ RÁC 1.1 Giới thiệu thƣ rác 1.1.1 Định nghĩa thƣ rác 1.1.2 Quá trình phát triển thƣ rác 1.1.3 Mục đích thƣ rác 1.1.4 Sự cần thiết phân loại thƣ rác .10 1.2 Một số phƣơng pháp phát ngăn chặn thƣ rác 10 1.2.1 Kỹ thuật blacklisting 10 1.2.1.1 Giới Thiệu 10 1.2.1.2 Ƣu khuyết điểm 11 1.2.2 Kỹ thuật whitelisting .12 1.2.2.1 Giới thiệu 12 1.2.2.2 Ƣu nhƣợc điểm 13 1.2.3 Kỹ thuật heuristic filtering 13 1.2.3.1 Giới thiệu 13 1.2.3.2 Ƣu nhƣợc điểm 14 1.2.4 Kỹ thuật throttling 14 1.2.4.1 Giới thiệu 14 1.2.4.2 Ƣu nhƣợc điểm 15 1.2.5 Kỹ thuật sử dụng máy học 15 1.2.5.1 Giới thiệu 15 1.2.5.2 Ƣu nhƣợc điểm 16 CHƢƠNG 2: TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI VĂN BẢN .17 2.1 Tổng quan phân loại văn 17 2.1.1 Sự cần thiết phân loại văn 17 2.1.2 Định nghĩa phân loại văn 18 -iv- 2.1.3 Tiến trình phân loại văn .18 2.1.4 Đặc trƣng văn cách lựa chọn đặc trƣng văn .21 2.2 Một số thuật toán phân loại văn 21 2.2.1 Thuật tốn K-Trung bình mờ 21 2.2.2 Thuật toán định .23 2.2.3 K-láng giềng gần .23 2.2.3.1 Gán nhãn văn gần 24 2.2.3.2 Gán nhãn theo độ phù hợp chủ đề 25 2.2.4 Support Vector Machines 26 2.2.5 Naïve Bayes (NB) .26 CHƢƠNG 3: XÂY DỰNG CHƢƠNG TRÌNH BỘ LỌC SPAM EMAIL BẰNG GIẢI THUẬT NAVI BAYES 28 3.1 Bài toán 28 3.2 Các công nghệ lọc thƣ rác .28 3.3 Ý tƣởng giải toán .29 3.4 Hƣớng giải toán .29 3.5 Phân loại email dựa thuật tốn Nạve Bayes 30 3.5.1 Naïve Bayes (NB) .30 3.5.1.1 Giới thiệu thuật tốn Nạve Bayes (NB) 30 3.5.1.2 Thuật tốn Nạve bayes 30 3.5.2 Xây dựng sở liệu cho chƣơng trình 36 3.5.3 Lựa chọn đặc trƣng .37 3.5.4 Biểu diễn thƣ điện tử 38 3.5.5 Áp dụng thuật toán navi bayes 38 CHƢƠNG 4: KẾT QUẢ 41 4.1 Dữ liệu thử nghiệm 41 4.2 Kết luận 44 -v- 4.3 Hƣớng phát triển 44 TÀI LIỆU THAM KHẢO 46 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt LỜI NÓI ĐẦU Trong năm gần đây, phát triển nhảy vọt CNTT tạo thay đổi đáng kể lĩnh vực đời sống xã hội toàn giới Tại Việt Nam, với bùng nổ Internet cho thấy rõ phát triển nhƣ tác động mặt Trong vịng vài năm gần đây, việc sử dụng Internet nói chung thƣ điện tử nói riêng ngày phổ biến Việt nam Một hệ phát triển ngày có nhiều thƣ rác gửi tới tài khoản thƣ điện tử Việt nam Thƣ rác (spam) thƣ điện tử đƣợc gửi hàng loạt với nội dung mà ngƣời nhận không mong đợi, không muốn xem, hay chứa nội dung không liên quan đến ngƣời nhận thƣờng đƣợc sử dụng để gửi thông tin quảng cáo Do có giá thành tƣơng đối thấp so với phƣơng pháp quảng cáo khác, thƣ rác chiếm tỷ lệ lớn ngày tăng tổng số thƣ điện tử đƣợc gửi qua Internet Sự xuất gia tăng thƣ rác khơng gây khó chịu làm thời gian ngƣời nhận mà ảnh hƣởng tới đƣờng truyền Internet làm chậm tốc độ xử lý máy chủ thƣ điện tử, gây thiệt hại lớn kinh tế Để loại bỏ giảm thiểu ảnh hƣởng thƣ rác, nhiều cách tiếp cận khác đƣợc nghiên cứu sử dụng Giải pháp đấu tranh với thƣ rác đa dạng, bao gồm từ cố gắng pháp lý việc xây dựng luật ngăn chặn phát tán thƣ rác giải pháp kỹ thuật nhằm phát ngăn chặn thƣ rác giai đoạn khác trình tạo phát tán thƣ Trong số giải pháp đƣợc sử dụng, lọc thƣ theo nội dung giải pháp đƣợc sử dụng rộng rãi có triển vọng Lọc thƣ theo nội dung phƣơng pháp phân tích nội dung thƣ để phân biệt thƣ rác với thƣ bình thƣờng, kết phân tích sau đƣợc sử dụng để định chuyển tiếp thƣ đến ngƣời nhận hay không Qua trình học tập tìm hiểu phƣơng pháp phân loại văn em chọn đồ án “Tìm hiểu thuật tốn Nạve Bayes xây dựng lọc Spam cho Email ” Qua đồ án này, em cố gắng nắm bắt tốt phƣơng pháp phân loại văn thuật toán Naive Bayes ứng dụng phƣơng pháp để phân loại thƣ rác Trong thời gian học tập trƣờng làm đồ án, đƣợc giúp đỡ giáo viên hƣớng dẫn mặt, từ nhiều phía em hồn thành đồ án thời gian qui định Em xin chân thành cảm ơn đến: SVTH: Nguyễn Đức Ca Page Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt Các thầy cô giáo khoa CNTT giảng dạy cho em kiến thức chuyên môn làm sở để thực tốt đồ án tốt nghiệp tạo điều kiện cho hồn thành tốt khóa học Đặc biệt em xin chân thành cảm ơn thầy giáo TS Hoàng Hữu Việt ngƣời theo sát bảo hƣớng cho em lời khuyên quý báu nhƣ cung cấp thông tin khoa học để em định hƣớng tốt làm đồ án tốt nghiệp Mặc dù đồ án đƣợc hoàn thành thời gian quy định nhƣng điều kiện thời gian, đồ án em không tránh khỏi thiếu sót Vì em mong nhận đƣợc đóng góp kiến thầy bạn bè tạo điều kiện cho đồ án em đƣợc hoàn thiện Vinh tháng 12 năm 2014 Sinh viên thực Nguyễn Đức Ca SVTH: Nguyễn Đức Ca Page Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt CHƢƠNG 1: TỔNG QUAN VỀ THƢ RÁC 1.1 Giới thiệu thƣ rác 1.1.1 Định nghĩa thƣ rác Thƣ rác hay gọi spam mail thƣ điện tử vô bổ thƣờng chứa loại quảng cáo đƣợc gửi cách vô tội vạ chất lƣợng loại thƣ thƣờng thấp Đơi khi, dẫn dụ ngƣời nhẹ dạ, tìm cách đọc số thể tín dụng tin tức cá nhân họ Có thể nói thƣ rác hình thức “tra ngƣời dùng thƣ điện tử” quảng cáo Các thƣ rác vơ hại nhƣng ngày ngƣời thƣ rác mà bị đầy hộp thƣ (có ngƣờiđã nhận trăm thƣ rác ngày mà có ba nội dung khác nhau!!!) Có thể thắc mắc ngƣời ta lại lặp lặp lại thƣ quảng cáo chục lần cho ngƣời, đơn giản họ muốn dùng hiệu ứng tâm lí… Khi hình ảnh sản phẩm đập vào mắt thìđến lúc cần mua thứ có chức tƣơng tự (hay loại) hình ảnh thƣơng hiệu thƣ rác lên óc trƣớc tiên Hoặc giả dụ đơi “lỡ tay” hay tị mị ngƣời đọc “click” vào link “lƣới nhện giăng sẵn chờ mồi ” Nhƣ vậy, theo định nghĩa thƣ rác có hại cho máy tính, đơi cịn làm bực khó chịu làm cho thƣ từ khác (nhất thƣ gửi có nghĩa quan trọng) bị lẫn lộn đống thƣ mà chủ yếu thƣ rác Khiến cho việc tìm kiếm thời gian xoá thƣ rác lại xoá nhầm thƣ quan trọng 1.1.2 Q trình phát triển thƣ rác Có thể chia lịch sử thƣ rác thành giai đoạn sau: Giai đoạn thứ – năm đầu thƣ rác Nhiều ý kiến cho thƣ rác đƣợc phát tán mạng diện rộng vào năm 1978, quảng cáo từ Digital Equipment Corporation Do dịch vụ thƣ điện tử lúc chƣa tiên tiến nên ngƣời phát tán thƣ rác phải đánh thủ công địa thƣ điện tử muốn gửi có khoảng 320 SVTH: Nguyễn Đức Ca Page Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt tổng số địa thƣ điện tử mà spammer muốn gửi nhận đƣợc thƣ rác lần phát tán Vào 1988 xuất kiểu thƣ rác khác thƣ rác lừa đảo (nhƣ lừa đảo làm việc từ thiện, lừa đảo kiếm tiền) Giai đoạn thứ hai – thƣ rác đƣợc gửi thông qua phần mềm Đầu thập niên 1990, với phát triển Internet mang đến vấn nạn số lƣợng thƣ rác tăng lên nhanh chóng Lúc spammer dùng phần mềm để tự động việc gửi thƣ điện tử đến danh sách địa Ví dụ thƣ rác phát tán qua phần mềm tự động thƣ rác Jesus thƣ rác Cantel Siegel Vào 1995 Jeff Slaton – tự nhận “vua thƣ rác” , ơng ngƣời kiếm lợi nhuận từ thƣ rác mà ơng gửi đi, ơng cịn ép buộc nạn nhân trả phí khơng muốn nhận thƣ rác Việc làm ông tạo ý tƣởng cho công ty thƣơng mại thuê ngƣời nhƣ Jeff Slaton để phát tán thƣ điện tử với mục đích quảng cáo giúp họ Giai đoạn thứ ba – phần mềm chống thƣ rác chống lại phần mềm gửi thƣ rác Vào 1996 xuất phần mềm chống thƣ rác nhƣ Spamblock, Internet Death Penalty, nhiên không làm giảm phát triển thƣ rác Các địa thƣ điện tử ngƣời dung đƣợc rao bán cho công ty, tổ chức muốn thực quảng cáo thƣ điện tử Và từ 1997 đến phát triển thƣ rác vƣợt kiểm soát, thống kê cho thấy 97% tổng số thƣ điện tử đƣợc gửi mạng thƣ không mong muốn nhận từ ngƣời dùng 1.1.3 Mục đích thƣ rác Thƣ rác đƣợc gửi với mục đích nhƣ sau: - Quảng cáo sản phẩm, dịch vụ, … tổ chức, cơng ty thƣơng mại - Lợi dụng tin ngƣời dùng để lừa gạt họ, nhƣ hình thức kiếm tiền trực tuyến, … - Gửi kèm virus tập tin kèm theo thƣ điện tử, từ đƣa virus vào máy nạn nhân hệ thống mạng mà nạn nhân sử dụng Sau lấy cắp thơng tin SVTH: Nguyễn Đức Ca Page Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt quan trọng nạn nhân hệ thống - Nói xấu, xuyên tạc đó, tuyên truyền điều sai trái trị 1.1.4 Sự cần thiết phân loại thƣ rác Thƣ rác mang tính tƣơng đối thƣ mang tính cá nhân, thƣ điện tử vô bổ với ngƣời nhƣng với ngƣời khác lại có ích Ví dụ thƣ điện tử quảng cáo/ rao vặt cho sản phẩm cụ thể đƣợc số ngƣời quan tâm nhƣng ngƣời cịn lại xem rác Ngày nay, spam mail trở thành hình thức quảng cáo chuyên nghiệp, phát tán virus, ăn cắp thơng tin … chƣơng trình anti-spam cho email cần thiết Chúng ta phải nhiều thời gian để xóa email “khơng mời mà đến”, vơ ý cịn bị nhiễm virus, trojan, spyware … nặng nề thơng tin nhƣ thẻ tín dụng, tài khoản ngân hàng qua email dạng phishing Đối với ngƣời dùng “checkmail” mà gặp phải thƣ rác gây cảm giác khó chịu làm tốn thời gian để xóa thƣ đơi cịn gây hậu nghiệm trọng ngƣời dùng có tính tị mị… Vì việc xây dựng hệ thống lọc thƣ rác cá nhân tự động cần thiết 1.2 Một số phƣơng pháp phát ngăn chặn thƣ rác 1.2.1 Kỹ thuật blacklisting 1.2.1.1 Giới Thiệu Một blacklist danh sách chứa thông tin địa thƣ điện tử hay địa IP bị cho địa phát tán thƣ rác Blacklist đƣợc gọi danh sách blackhole Trên giới có nhiều tổ chức chuyên lĩnh vực thu thập cung cấp blacklist máy chủ mail đƣợc kẻ phát tán thƣ rác sử dụng Một số danh sách blacklist đƣợc cung cấp miễn phí cịn số khác phải mua Các sở liệu blacklist đƣợc phần lớn nhà cung cấp dịch vụ Internet nhà cung cấp dịch vụ băng thông rộng sử dụng để lọc thƣ rác đƣợc gửi vào mạng họ hay ngƣời dùng dịch vụ họ Có nhiều loại danh sách blackhole khác (IP blacklist, DNS blacklist, email blacklist) đƣa đến nhiều mức SVTH: Nguyễn Đức Ca Page 10 Đồ án tốt nghiệp đại học GVHD: TS Hồng Hữu Việt Trong đó:  |docsi|: số văn tập huấn luyện thuộc phân lớp i  |total docs|: số văn tập huấn luyện  m số phân lớp Cài đặt:  Khởi tạo mảng A, B có kích thƣớc m  Duyệt qua văn tập liệu, đếm số văn phân lớp lƣu vào A  Tính xác suất cho phân lớp theo công thức lƣu vào mảng B Cơng thức tính làm trơn Laplace: Trong đó:  : Số văn trong phân lớp i có đặc trƣng thứ k mang giá trị xk (hay số văn lớp i, có xuất hiện/không xuất đặc trƣng k)  : Số văn tập huấn luyện thuộc phân lớp i  Số giá trị có đặc trƣng thứ k Cài đặt:  Với vector đặc trƣng nhƣ mô tả bên trên, dk mang giá trị 2, tƣơng ứng với xuất không xuất Do có giá trị, ta tính nhanh xác suất khơng xuất theo cơng thức  Khởi tạo mảng chiều C, chiều có kích thƣớc m (số phân lớp), chiều có kích thƣớc N (số đặc trƣng), chiều có kích (dk) để lƣu giá trị  Duyệt qua văn tập liệu, tiến hành thống kê số cần thiết để tính xác suất theo cơng thức lƣu vào mảng C SVTH: Nguyễn Đức Ca Page 32 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt Phân lớp: Đầu vào:  Vector đặc trƣng văn cần phân lớp  Các giá trị xác suất Đầu ra:  Nhãn/lớp văn cần phân loại Cơng thức tính xác suất thuộc phân lớp i biết trƣớc mẫu X Dựa vào vector đặc trƣng văn cần phân lớp, áp dụng công thức tính xác suất thuộc phân lớp cho văn bản, chọn lớp có xác suất cao Ví dụ minh họa 1: Cho hai tập liệu gồm: Tài liệu thuộc lớp Tin Tài liệu thuộc lớp Toán với từ đƣợc xét là: Lập trình Cơng thức Tập liệu Lập trình Công thức Lớp Tài liệu Tin Tài liệu Tốn Ta có: Tổng số từ thuộc lớp: Ƣớc lƣợng xác suất P(C1 =“Tin”) =1/2 P(C2=“Toán) =1/2 SVTH: Nguyễn Đức Ca Tin Bƣớc Huấn Ci = “Tin” P(“Lập trình”| Tin) =2/3 P(“Cơng thức” | Tin) =1/3 Tốn Bƣớc Huấn Ci = “Tốn” P(“Lập trình” | Tốn) =1/4 P(“Cơng thức” | Tốn) =3/4 Page 33 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt Khi ta xét tập Tài liệu với liệu sau: hỏi xem Tài liệu thuộc lớp hai lớp Tin Toán Tập liệu Lập trình Cơng thức Lớp Tài liệu ? Dựa vào cơng thức tính tốn ta có: Cnb = P (Tin) [P (“Lập trình” | Máy tính)*1* P (“Công thức” | Tin) *2] = 0.222 Cnb = P (Tốn) [P (“Lập trình” | Tốn)*1* P (“Cơng thức” | Toán) *2 ]= 0.1875 Tài liệu thuộc lớp Tin Ví dụ minh họa 2: Cho tập huấn luyện sau mức đánh giá thực hay không buổi cắm trại học sinh lớp Stt Nhiệt độ Thời tiết Độ ẩm Gió Đi cắm trại Ấm Nắng Thấp Vừa Có Ấm U ám Cao Vừa Có Lạnh Mƣa Cao Mạnh Khơng Nóng Nắng Cao Mạnh Khơng Lạnh Mƣa Thấp Vừa Có Nóng U ám Thấp Vừa Khơng Ấm Mƣa Cao Vừa Có Lạnh Mƣa Cao Mạnh Khơng Nóng Nắng Thấp Vừa Khơng 10 Lạnh U ám Cao Mạnh Không 11 Ấm Nắng Cao Vừa Không SVTH: Nguyễn Đức Ca Page 34 Đồ án tốt nghiệp đại học 12 Nóng GVHD: TS Hồng Hữu Việt U ám Thấp Mạnh Có Xét trƣờng hợp z = (Nhiệt độ =Nóng, Thời tiết = Nắng, Độ ẩm = Cao, Gió = Vừa) Có phân lớp cụ thể bao gồm: c1 (“Đi cắm trại”) c2 (“Khơng cắm trại”) Tính xác suất trƣớc cho phân lớp: P (c1) =5/12 P (c2) =7/12 Ta có xác suất giá trị phân lớp: P (Nhiệt độ = Nóng | c1) =1/5 P (Nhiệt độ = Nóng | c2) =3/7 P (Thời tiết = Nắng | c1) =1/5 P (Thời tiết = Nắng | c2) =3/7 P (Độ ẩm= Cao | c1) =2/5 P (Độ ẩm = Cao | c2) =5/7 P (Gió = Vừa |c1) =4/5 P (Gió =Vừa | c2) =3/7 Ta có: Xác suất xảy z phân lớp c1: P (z | c1) =P (Nhiệt độ =Nóng | c1) P (Thời tiết =Nắng | c1) P (Độ ẩm = Cao | c1) P(Gió=Vừa |c1)=(1/5) ( 1/5).(2/5) ( 4/5) = 0.0064 Xác suất xảy z phân lớp c2: P (z | c2) =P (Nhiệt độ =Nóng | c2) P (Thời tiết =Nắng | c2) P (Độ ẩm = Cao | c2) P(Gió=Vừa |c1)=(3/7) ( 3/7).(5/7) ( 3/7) = 0.0562 Xác định phân lớp nhất: Đối với c1: P (c1) P (z | c1) = (5/12) (0.0064)=0.0026 Đối với c2: P (c2) P (z | c2) = (7/12) (0.0562)=0.0327 không cắm trại SVTH: Nguyễn Đức Ca Page 35 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt 3.5.2 Xây dựng sở liệu cho chƣơng trình Đầu tiên, đầu vào tập thƣ rác tập thƣ tốt, chƣơng trình truy xuất trực tiếp vào nội dung tồn diện tiến hành bóc tách Sau quy trình khai thác nội dung độc lập với thƣ nguồn, đƣợc lƣu trữ tái sử dụng cho bƣớc học từ Trƣớc lọc thƣ cần áp dụng phƣơng thức này, ngƣời sử dụng cung cấp sở liệu với tập từ tokens, tập hợp mẫu thƣ đƣợc coi thƣ rác (spam) tập mẫu thƣ đƣợc coi thƣ hợp lệ Ở qua q trình bóc tách token tập thƣ hợp lệ tập thƣ rác thu đƣợc sở liệu gồm bảng Token_spam chứa token tập thƣ rác tần số xuất token tập thƣ rác, tƣơng tự cho tập thƣ hợp lệ ta thu đƣợc bảng Token_ham Tiến trình thu thập nội dung đƣợc mơ tả nhƣ hình sau: SVTH: Nguyễn Đức Ca Page 36 Đồ án tốt nghiệp đại học Tập GVHD: TS Hoàng Hữu Việt Nội dung xấu Từ xấu thƣ spam Học từ C.Trình Tập Nội dung tốt thƣ ham Từ tốt Từ tiến trình thu thập nội dung ta xây dựng sở liệu vật lý cho chƣơng trình nhƣ sau: Bảng Token_Spam chứa token tần số xuất tập liệu spam Token_Spam STT Tên trƣờng Kiểu Độ rộng Diễn giải Ràng buộc Token_ID Int 10 Mã token PK Token_Name nvarchar 50 Nội dung token Frequency Int 10 Tần số xuất token tập liệu spam SVTH: Nguyễn Đức Ca Page 37 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt Bảng Token_Ham chứa token tần số xuất tập liệu ham: Token_Spam STT Tên trƣờng Kiểu Độ rộng Diễn giải Ràng buộc Token_ID Int 10 Mã token PK Token_Name nvarchar 50 Nội dung token Frequency Int 10 Tần số xuất token tập liệu ham 3.5.3 Lựa chọn đặc trƣng Để xem xét nội dung thƣ lựa chọn đặc trƣng dùng khái niệm “token” Chúng ta lựa chọn đặc trƣng việc sử dụng phƣơng pháp sử dụng lĩnh vực phân loại văn Với từ xuất nội dung thƣ điện tử tập văn mẫu, đƣa vào đặc trƣng thích hợp 3.5.4 Biểu diễn thƣ điện tử Chúng ta tiến hành biểu diễn thƣ điện tử thành vector xµ= (x1, x2, …, xn), x1, x2, …, xn giá trị thuộc tính X1, X2,…, Xn tƣơng ứng khơng gian vector đặc trƣng Trong trƣờng hợp đơn giản nhất, chọn thuộc tính từ đơn nhƣ Xi=1 thƣ chứa từ đó, ngƣợc lại Xi =0 Nhƣng thay Xi nhận giá trị 1, ta tính xác suất từ thƣ rác có giá trị đoạn [0,1] 3.5.5 Áp dụng thuật toán Nạve Bayes Dựa cơng thức Nạve Bayes, áp dụng nguyên tắc tính xác suất sở lý thuyết nêu thuật tốn Nạve Bayes nhƣ sau: Giả sử nội dung thƣ điện tử là: content Lớp thƣ rác ký hiệu là: spam Lớp thƣ hợp lệ ký hiệu là: ham Xác suất để thƣ điện tử thƣ rác: P(spam | content) Word1, Word2, Word3, Wordm từ đặc trƣng xuất content SVTH: Nguyễn Đức Ca Page 38 Đồ án tốt nghiệp đại học GVHD: TS Hồng Hữu Việt Trong Total đƣợc xác định bằng: Total =P (content | spam)* P (spam) + P (content| ham)*P (ham) Với P(content|ham) P(content|spam) đƣợc tính P(content | ham)  P(wordi | ham) P(content | spam)  P(wordi | spam) Cuối cùng, P (spam) P (ham) đƣợc tính cơng thức Sau tính đc P(spam) P(ham) theo Bayes ta so sánh giá trị P(spam) > P(ham) ta định thƣ rác, ngƣợc lại P(spam) < P(ham) ta định thƣ bình thƣờng Ví dụ: Từ Tần số xuất Ham Spam Total Tất email 400 600 1000 Sell 300 100 400 Buy 10 90 100 Áp dụng cơng thức tính SVTH: Nguyễn Đức Ca Page 39 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt Thu đƣợc giá trị sau: P(spam|“sell”) = P(600/1000) * P(300/600) / P(400/1000) = 0.6*0.5/0.4=0.75 P(ham|“sell”) = P(400/1000) * P(100/400)/P(400/1000) = 0.4*0.25/0.4=0.25 P(spam|“buy”) = P(600/1000) * P(90/600) / P(100/1000) = 0.6*0.15/0.1=0.9 P(ham|“buy”) = P(400/1000) *P(10/400) /P(100/1000) = 0.4*0.025/0.1=0.1 Mơ hình tổng qt q trình hoạt động lọc thƣ chƣơng trình: Thƣ đầu vào Tiền xử lý Phân tích thƣ Tokens Database Sử dụng bayes tính xác suất spam ham Kết đầu spam | ham SVTH: Nguyễn Đức Ca Page 40 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt CHƢƠNG 4: KẾT QUẢ 4.1 Dữ liệu thử nghiệm Một khó khăn thử nghiệm lọc thƣ chƣa có liệu mẫu chuẩn Để bắt đầu trình thử nghiệm lọc thƣ spam, ta lấy 200 thƣ ban đầu gồm 100 thƣ tốt 100 thƣ rác tham gia q trình lọc thƣ Các thơng số liệu thử nghiệm đƣợc thống ke bảng dƣới Bảng 4.1: liệu thử nghiệm Tổng số thƣ Thƣ rác Thƣ tốt 200 100 100 Khi chuẩn bị đƣợc liệu thử nghiệm chạy chƣơng trình lên lúc chƣa có liệu cho chƣơng trình phải thực huấn luyện liệu cho chƣơng trình cách chọn vào tab Huấn luyện chƣơng trình, tiến hành load file text chứa nội dung thƣ rác thƣ hợp lệ, q trình huấn luyện liệu thời gian SVTH: Nguyễn Đức Ca Page 41 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt Hình 4.1: Huấn luyện liệu cho chƣơng trình Sau chƣơng trình thực huấn luyện liệu từ liệu đầu vào để bắt đầu trình thử nghiệm lọc thƣ spam lấy 50 thƣ liệu ban đầu gồm 25 thƣ rác 25 thƣ hợp lệ tham gia trình lọc thƣ Để bắt lọc thƣ chuyển qua tab phân loại chƣơng trình, từ treeview bên trái chọn file text chứa nội dung thƣ cần phân loại nội dung thƣ đƣợc hiển thị vào richtextbox bên phải, thực phân loại cách chọn buttom kiểm tra Khi kết đƣợc trả Mail spam Mail ham SVTH: Nguyễn Đức Ca Page 42 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt Hình 4.2: Phân loại thƣ theo nội dung Tƣơng tự phân loại hết 50 thƣ đầu vào Và kết thu đƣợc thể bảng thống kê dƣới Bảng 4.2: kết phân loại thƣ Loại thƣ Số thƣ Kết Tỷ lệ Thƣ tốt 25 24 96% Thƣ rác 25 22 88% Dựa vào kết bảng thống kê cho thấy rõ việc tiếp cận thuật tốn Nạve Bayes việc lọc thƣ cho hiệu khả quan Từ kết phân loại đƣợc sử dụng kết để đƣa vào liệu huấn luyện cách chọn vào bottom học từ chƣơng trình tự động phân tách token dựa kết SVTH: Nguyễn Đức Ca Page 43 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt chƣơng trình trả đƣa vào liệu huấn luyện phù hợp để phục vụ cho lần phân loại chƣơng trình 4.2 Kết luận Nhƣ nói từ đầu tốn học thống kê đóng vai trị quan trọng trọng lĩnh vực Thống kê giúp cho việc nắm bắt đánh giá tình hình trở lên trực quan dễ hiểu Xử lý ứng dụng liệu thống kê đem lại hiệu lớn lao việc tiên đoán từ xây dựng lên hệ tự động hóa hoạt động xác Hƣớng tiếp cận thống kê theo lý thuyết Bayes đơn giản nhƣng đem lại hiệu cao mà đƣợc ứng dụng phổ biến hầu hết lĩnh vực So với phƣơng pháp khác, phƣơng pháp thống kê Bayes lập luận theo kinh nghiệm đƣợc tích lũy áp dụng vào mơ hình phân loại đối tƣợng linh hoạt hơn, phù hợp với đặc trƣng toán Các chế ƣớc lƣợng gần gũi với cách suy luận thơng thƣờng mà kết phân loại tƣơng đối giống với cách phân loại thông thƣờng Đồ án tập trung nghiên cứu lý thuyết Bayes, từ bƣớc sở tìm hiểu tiếp ứng dụng liên quan trực tiếp đến ngành công nghệ thông tin ứng dụng lọc thƣ rác Q trình tìm hiểu nguyên lý cách thức hoạt động lọc rút đƣợc kết luận ƣu nhƣợc điểm tiếp cận thống kê Bayes việc phân loại thƣ rác Đối với vấn đề áp dụng lý thuyết Bayes, đồ án nghiên cứu xây dựng cơng thức tính xác suất cho việc xử lý thơng tin trở lên nhanh gọn có độ xác cao 4.3 Những hạn chế đề tài Bộ từ điển mẫu ban đầu sơ sài mang tính cá nhân sử dụng chƣơng trình tùy theo ngƣời dùng khác cấu hình lại cho phù hợp với hịm thƣ Quá trình phân loại mail bỏ qua nội dung file đính kèm cần đƣợc hoàn thiện phát triển để phân loại mail cách xác việc phân lọc mail kết hợp với hình thức lọc mail khác nhằm nâng caohiệu phân loại SVTH: Nguyễn Đức Ca Page 44 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt 4.4 Hƣớng phát triển - Cần tiếp tục nghiên cứu cải tiến khâu tiền xử lý văn bản, xây dựng mẫu huấn luyện tiêu chuẩn nhƣ điều chỉnh giải thuật để nâng cao độ xác phân loại - Nghiên cứu xây dựng hệ thống lọc thƣ rác có nội dung tiếng việt - Tìm hiểu giao thức truyền nhận thƣ, tích hợp chƣơng trình vào hệ thống SVTH: Nguyễn Đức Ca Page 45 Đồ án tốt nghiệp đại học GVHD: TS Hoàng Hữu Việt TÀI LIỆU THAM KHẢO [1].Hà Quang Thụy, Phan Xn Hiếu, Đồn Sơn, Giáo trình Khai phá liệu web, Nxb Giáo dục Việt Nam, 2009 [2] Nguyễn Trần Thiên Thanh, Trần Khải Hồng, Tìm hiểu hướng tiếp cận toán phân loại văn xây dựng phần mềm phân loại tin tức báo điện tử, Khóa luận cử nhân tin học 2005 [3] Đinh Thị Phƣơng Thu, Hoàng Vĩnh Sơn, Huỳnh Quyết Thắng, Phƣơng án xây dựng tập mẫu cho toán phân lớp văn tiếng Việt, nguyên lý, giải thuật, thử nghiệm đánh giá kết quả, Tạp chí Khoa học công nghệ, 2005 [4] Christopher D.Manning, Hinrich Schutze, Foundations Of Statistical Natural Language Processing SVTH: Nguyễn Đức Ca Page 46 ... học tập tìm hiểu phƣơng pháp phân loại văn em chọn đồ án ? ?Tìm hiểu thuật tốn Nạve Bayes xây dựng lọc Spam cho Email ” Qua đồ án này, em cố gắng nắm bắt tốt phƣơng pháp phân loại văn thuật toán Naive... 26 2.2.5 Naïve Bayes (NB) .26 CHƢƠNG 3: XÂY DỰNG CHƢƠNG TRÌNH BỘ LỌC SPAM EMAIL BẰNG GIẢI THUẬT NAVI BAYES 28 3.1 Bài toán 28 3.2 Các công nghệ lọc thƣ rác... NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: Tìm hiểu thuật tốn Nạve Bayes xây dựng lọc Spam cho Email Sinh viên thực hiện: Nguyễn Đức Ca– 1051070440 Lớp: 51K1- CNTT Giáo

Ngày đăng: 25/08/2021, 15:32

Tài liệu cùng người dùng

Tài liệu liên quan