Sự cần thiết của vấn đề nghiên cứu Hiện nay, thư điện tử Email đã trở thành phương tiện giao tiếp thông tin không thể thiếu cho tất cả mọi người, email gần như đã thay thế hoàn toàn các
Trang 1TRƯỜNG ĐẠI HỌC VINH
NGUYỄN VĂN SANG
NGHIÊN CỨU THUẬT TOÁN NAIVE BAYES
Trang 2NGUYỄN VĂN SANG
NGHIÊN CỨU THUẬT TOÁN NAIVE BAYES
CHO BỘ LỌC THƯ RÁC Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Mã số: 60480201
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn: TS TRẦN XUÂN SANG
NGHỆ AN, 2017
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan luận văn thạc sỹ Công nghệ thông tin “NGHIÊN CỨU THUẬT TOÁN NAIVE BAYES CHO BỘ LỌC THƯ RÁC” là công trình học tập, nghiên cứu khoa học của riêng bản thân tôi
Những số liệu trình bày trong luận văn là trung thực, có nguồn gốc rõ ràng, được trích dẫn và có tính kế thừa, phát triển từ những công trình nghiên cứu khoa học đã được công bố trên các website
Các phương pháp nêu trong luận văn được trích từ những cơ sở lý luận
và quá trình học tập nghiên cứu
Tác giả
Nguyễn Văn Sang
Trang 4LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn sâu sắc đến Thầy hướng dẫn Tiến sĩ Trần Xuân Sang đã tận tình hướng dẫn và giúp đỡ tôi trong suốt thời gian thực hiện luận văn
Tôi bày tỏ lòng biết ơn đến quí Thầy, Cô Trường Đại Học Vinh đã tận tình giảng dạy và truyền đạt kiến thức cũng như những kinh nghiệm quí báu cho lớp Cao học Công nghệ thông tin – Khoá 23 trong suốt thời gian học tập
Chân thành cảm ơn các anh, chị, em đồng nghiệp Trường Cao đẳng nghề số 9 - Bộ quốc phòng đã tạo điều kiện thuận lợi, cũng như truyền đạt kinh nghiệm và kiến thức giúp tôi thực hiện đề tài này
Cảm ơn các bạn cùng lớp học Cao học Công nghệ thông tin – Khoá 23
đã đoàn kết, gắn bó, cùng nhau học tập và trao đổi kiến thức, cũng như động viên hỗ trợ nhau trong quá trình học tập và thực hiện luận văn
Tác giả
Nguyễn Văn Sang
Trang 5MỤC LỤC
Trang
LỜI CAM ĐOAN 3
LỜI CẢM ƠN 4
MỤC LỤC 5
DANH MỤC CÁC TỪ VIẾT TẮT 7
DANH MỤC CÁC BẢNG 8
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 9
MỞ ĐẦU 10
CHƯƠNG 1 TỔNG QUAN VỀ PHÂN LOẠI THƯ RÁC 12
1.1 Đặt vấn đề 12
1.2 Bài toán phân loại thư rác 12
1.3 Tổng quan về vấn đề nghiên cứu 13
1.4 Mục tiêu của luận văn 20
CHƯƠNG 2 PHÂN LỚP NAIVE BAYES 21
2.1 Định nghĩa 21
2.2 Các mô hình xác xuất Naive Bayes 22
2.3 Ước lượng tham số 23
2.4 Xây dựng một classifier từ mô hình xác xuất 24
2.5 Thuật toán phân loại văn bản Naive Bayes 25
CHƯƠNG 3 THIẾT KẾ BỘ LỌC THƯ RÁC 26
3.1 Đặt vấn đề 27
Trang 63.2 Bài toán phân loại thư rác 30
3.3 Tiền xử lý thư điện tử 31
3.4 Dùng luật Bayes tính xác xuất 31
3.5 Huấn luyện cho bộ lọc Bayes 33
3.6 Bộ lọc thư rác 35
CHƯƠNG 4 THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ BỘ LỌC THƯ RÁC 40
4.1 Dữ liệu thử nghiệm 40
4.2 Thử nghiệm với thư Tiếng Việt 40
4.3 Một số nhận xét và đề xuất 44
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 45
PHỤ LỤC 1 47
TÀI LIỆU THAM KHẢO 48
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
Trang 8DANH MỤC CÁC BẢNG
Trang
Bảng 3.1 Phân tích từ đơn 38
Bảng 4.1 Bộ dữ liệu thử nghiệm 40
Bảng 4.2 Kết quả phân loại thư tiếng việt 43
Bảng 4.3 Kết quả phân loại thư rác 43
Trang 9DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Trang
Hình 1.1 Khung ID người gửi được thi hành trên MTA 16
Hình 3.1 Lưu lượng spam theo báo cáo tháng 12-2010 30
Hình 3.2 Giao diện Bộ lọc thư rác 35
Hình 3.3 Mô hình tổng quát lọc thư rác tiếng việt 36
Hình 3.4 Quy trình tách và học từ 38
Hình 4.1 Dữ liệu huấn luyện thư rác 41
Hình 4.2 Kiểm tra thư rác thứ 1 41
Hình 4.3 Kiểm tra thư rác thứ 2 42
Hình 4.4 Kiểm tra thư rác thứ 3 42
Trang 10MỞ ĐẦU
1 Sự cần thiết của vấn đề nghiên cứu
Hiện nay, thư điện tử (Email) đã trở thành phương tiện giao tiếp thông tin không thể thiếu cho tất cả mọi người, email gần như đã thay thế hoàn toàn cách thức trao đổi thông tin truyền thống bằng những lá thư viết tay như trước đây, email không chỉ đơn thuần là trao đổi dưới dạng văn bản mà nó có thể gửi nhận dưới các dạng thông tin khác nhau như: âm thanh, hình ảnh, video clip, … Thời gian gửi email rất nhanh chỉ mất vài giây đến ít phút và người dùng có thể trao đổi email ở mọi lúc mọi nơi
Có lẽ cũng chính vì những tiện ích tuyệt vời đó của email mà rất nhiều người sử dụng email đã gặp không ít những rắc rối do thư rác (spam email) mang lại như hiện nay; đó là những loại thư không mong đợi nhưng lại thường xuyên xuất hiện trong hộp thư, ngoài việc gây cảm giác khó chịu cho người sử dụng đôi khi còn bị rò rỉ thông tin cá nhân gây ảnh hưởng nghiêm trọng đến vật chất và tin thần cho người dùng email
Những rắc rối do spam mail mang lại là không ít, tuy nhiên những lợi ít của email thì không thể phủ nhận được, chúng ta vẫn phải trao đổi thông tin với nhau hàng ngày cho nhiều mục đích khác nhau, như vậy giải pháp tốt nhất cho vấn đề này là gì?
Trong luận văn này, tôi sẽ tìm hiểu tổng quan về các phương pháp lọc
thư rác thông dụng hiện nay, và nghiên cứu áp dụng giải thuật NAIVE BAYES để xây dựng bộ lọc thư rác
2 Đối tượng và phạm vi nghiên cứu
2.1 Đối tượng nghiên cứu
(a) Nghiên cứu lý thuyết
Trang 11- Nghiên cứu các tài liệu về bài tốn lọc thư rác đã cơng bố ở trong và ngồi nước;
- Nghiên cứu tài liệu về cấu trúc, đặc trưng của thư rác
- Nghiên cứu thuật tốn Nạve Bayes để xây dựng hệ thống phân loại thư rác
(b) Nghiên cứu thực nghiệm
- Nghiên cứu xây dựng cơ sở dữ liệu thư rác
- Nghiên cứu ngơn lập trình C# và cài đặt thuật tốn Nạve Bayes cho bộ lọc thư rác
2.2 Phạm vi nghiên cứu
Bài tốn lọc thư rác cĩ thể được thực hiện bằng các thuật tốn nhận dạng khác nhau như thuật tốn Support vector Machine (SVM), thuật tốn K–Nearest Neighbor (KNN), … và cĩ thể được giải quyết theo 2 dạng ngơn ngữ
là Tiếng Anh và Tiếng Việt
Trong phạm vi luận văn này, tơi tập trung vào giải quyết bài tốn sử dụng thuật tốn Naive Bayes để nhận dạng và lọc thư rác theo ngơn ngữ Tiếng Việt
3 Nội dung nghiên cứu
- Nghiên cứu tổng quan về các hệ thống nhận dạng thư rác đã được cơng
bố
- Nghiên cứu các phương pháp để trích chọn đặc trưng của thư rác
- Nghiên cứu thuật tốn Naive Bayes
- Nghiên cứu ngơn ngữ lập trình C# để cài hệ thống nhận dạng
Trang 12Chương 1 TỔNG QUAN VỀ PHÂN LOẠI THƯ RÁC
Trong chương này, luận văn sẽ trình bày khái quát về ý tưởng của bài tốn phân loại thư rác, mơ hình của hệ thống phân loại thư rác, từ đĩ giới thiệu sơ lược thêm về tình hình nghiên cứu các phương pháp phân loại thư rác
cĩ liên quan trong và ngồi nước
1.1 Đặt vấn đề
Phân loại thư rác bằng thuật tốn Naive Bayes là một trong những phương pháp phân loại cĩ giám sát Thuật tốn dễ hiểu, dễ cài đặt, kết quả thu được lại rất tốt, vì thế đây là một phương pháp rất quan trọng trong xử lý ngơn ngữ tự nhiên – Natural Language Processing (NLP) Ứng dụng đầu tiên trong NLP của phương pháp phân loại này là phân loại văn bản Gần đây, phương pháp phân loại này cịn được ứng dụng thành cơng vào việc phân loại thư rác
Luận văn này sẽ trình bày chi tiết hơn về lý thuyết Nạve Bayes và việc ứng dụng định lý Bayes cho bộ lọc thư rác
1.2 Bài tốn phân loại thư rác
Như đã trình bày ở phần mở đầu, hiện nay, thư điện tử (Email) đã trở thành phương tiện giao tiếp thơng tin khơng thể thiếu cho tất cả mọi người Những lợi ít của email mang lại cuộc sống hơm nay là hồn tồn khơng thể phủ nhận, tuy nhiên những rắc rối do spam mail mang lại là khơng ít, chúng ta vẫn phải trao đổi thơng tin với nhau hàng ngày cho nhiều mục đích khác nhau, như vậy giải pháp tốt nhất cho vấn đề này là tìm cách xây dựng một bộ phân loại nhằm phân loại cho một mẫu mới bằng cách huấn luyện từ những mẫu cĩ sẵn Ở đây mỗi mẫu mà ta xét đến chính là mỗi một email, tập các lớp
Trang 13mà mỗi email có thể thuộc về là y={spam, non-spam} Khi ta nhận được 1 email mới gửi đến, khi đó ta dựa vào một số đặc điểm hay thuộc tính nào đó của email để tăng khả năng phân loại chính xác email đó Các đặc điểm của 1 email như: tiêu đề, nội dung, có tập tin đính kèm hay không… Càng nhiều những thông tin như vậy xác suất phân loại đúng càng lớn, tất nhiên còn phụ thuộc vào kích thước của tập mẫu huấn luyện
Việc tính toán xác suất sẽ dựa vào công thức Naive Bayes, từ xác suất thu được ta đem so sánh với một giá trị ngưỡng t nào đó mà ta xem là ngưỡng
để phân loại email spam hay non-spam Nếu lớn hơn t thì email đó là spam, ngược lại là non-spam Như ta đã biết khi phân loại email có hai lỗi: lỗi nhận
1 email non-spam thành spam và lỗi cho qua một email spam Loại lỗi thứ nhất nghiêm trọng hơn, vì vậy ta xem mỗi một email non-spam như là λ email non-spam Như vậy khi lỗi nhận 1 email non-spam thành spam xảy ra ta xem như là λ lỗi, và khi phân loại đúng xem như λ lần thành công Ngưỡng để phân loại t sẽ phụ thuộc vào chỉ số λ này
1.3 Tổng quan về vấn đề nghiên cứu
1.3.1 Tình hình nghiên cứu trong nước
Bài toán lọc thư rác hiện tại đã có rất nhiều phương pháp giải quyết khác nhau và mang lại những kết quả rất khả quan Tuy nhiên, đa phần các công trình nghiên cứu chỉ tập trung giải quyết thư rác tiếng Anh, còn lĩnh vực thư rác tiếng Việt thì chưa thực sự được quan tâm Có lẻ sự trở ngại lớn nhất là cấu trúc phức tạp của tiếng Việt, nó gần như khác biệt hoàn toàn so với cấu trúc tiếng Anh
Vấn đề thư rác là vấn đề gây nhức nhối trong xã hội trong những năm gần đây Nhiều nhà khoa học và nhiều công trình nghiên cứu về phương pháp lọc thư rác đã được đầu tư và tiến hành từ khá lâu
Trang 14Để đánh giá hiệu quả của một công cụ lọc thư rác người ta thường dựa trên hai độ đo sau:
False Positive – Tỷ lệ thư thường bị lọc nhầm thành thư rác
False Negative– Tỷ lệ thư rác bị lọc nhầm thành thư thường
Trong hai lỗi trên thì lỗi False Positive là loại lỗi cần tránh nhất, người dùng thường không chấp nhận lỗi này Các công cụ lọc thư rác thường được tính toán sao cho độ đo False Positives và False Negatives là nhỏ nhất Tuy nhiên, lỗi False Positives có phần được ưu tiên hơn Một bộ lọc lý tưởng là sản phẩn có False Positives bằng 0 và False Negatives bằng 0 Điều này dường như là không thể Tất cả những công cụ lọc có giá trị ngày nay thường
sử dụng một trong số những phương pháp hoặc kết hợp của các phương pháp sau:
Phương pháp lọc theo từ khóa
Phương pháp lọc thư rác theo từ khóa là một phương pháp truyền thống trong việc lọc thư rác Người ta dựa vào những từ hay cụm từ có trong đầu đề của thư (subject) và nội dung của thư để lọc
Khi một thư mới được gửi tới hòm thư của bạn, bạn phải tạo một bộ lọc mới đơn giản bằng cách chọn một số từ hoặc cụm từ trong nội dung thư Các
từ hay cụm từ này sẽ xác định đó là thư rác hay không Vì mục đích của tất cả spam cơ bản là giống nhau (bán hoặc quảng cáo một sản phẩm hay một dịch vụ) và nội dung của hầu hết spam đều mang các đặc điểm chung Những cụm
từ, câu chữ như “Silk ties” (Cà vạt lụa) hoặc “Eliminate debt” (Xoá nợ) xuất hiện thường xuyên trên spam và được coi những cụm từ thường xuyên xuất hiện nhất trong các bức thư không mong muốn Các đặc điểm nội dung khác
Trang 15để nhận diện spam như yêu cầu hành động như “Fin out how, click here”hoặc thông báo huỷ như “If you want to be removed from our mailing lists…” Một vài năm gần đây, những kẻ gửi thư rác đã bắt đầu nhận ra rằng thư rác của chúng đã bị chặn bởi bộ lọc theo từ khóa này Do vậy những kẻ gửi thư rác này đã thay đổi cách viết nội dung của thư rác nhằm làm cho thư rác của chúng có thể “xuyên qua” các bộ lọc Điều này có thể giải thích tại sao bạn nhận nhiều thư với những từ như "Vi@gra", "Mort.gage", "L|0|a|n|$" hay những tranh ảnh được nhúng vào trong thư Phương pháp này có một số ưu điểm và nhược điểm sau:
Ưu điểm:
Tính thích nghi: Người dùng có thể dễ dàng biến đổi bộ lọc của mình để
nó có thể lọc các kiểu thư rác mà người đó đang phải nhận và điều quan trọng
là nó không cản trở (thích nghi) các từ và các cụm từ được sử dụng hàng ngày trong kinh doanh thương mại với bạn bè hay những người thân quen
Nhược điểm:
Yêu cầu nhiều tiến trình xử lý bằng tay để điều chỉnh và duy trì bộ lọc được hiệu quả Để có thể đánh lừa các bộ lọc, những kẻ gửi thư rác luôn luôn thay đổi hình thức nội dung của thư rác, do đó những bộ lọc mở rộng phải được tạo ra để chống lại điều đó [1]
Phương pháp lọc dựa trên xác nhận danh tính của người gửi
Giả mạo thư điện tử - là việc giả mạo địa chỉ thư điện tử của một công ty hoặc của một người khác để khiến người sử dụng tin tưởng và mở thư - đang
là một trong những thử thách lớn nhất mà cộng đồng sử dụng Internet và các
kỹ thuật viên chống thư rác hiện đang phải đối mặt Nếu không có sự thẩm định quyền, xác nhận và khả năng truy tìm danh tính của người gửi, các hãng
Trang 16cung cấp dịch vụ thư điện tử không bao giờ có thể biết chắc một bức thưl à hợp pháp hay bị giả mạo Do đó việc xác nhận danh tính của người gửi là rất cần thiết Để xác nhận danh tính của người gửi người ta đưa ra một số giải pháp sau:
a Phương pháp DomainKeys
Phương pháp DomainKeys có thể giúp phân định rõ thư rác và thư thường bằng cách cung cấp cho các hãng cung cấp dịch vụ thư điện tử một cơ chế xác nhận cả tên miền của mỗi người gửi thư điện tử và sự liêm chính của mỗi bức thư được gửi đi (ví dụ như các thư này không bị thay thế trong khi được truyền qua mạng) Và, sau khi đã xác nhận được tên miền, người ta có thể so sánh tên miền này với tên miền mà người gửi sử dụng trong ô “Người gửi” của bức thư để phát hiện các trường hợp giả mạo Nếu đây là trường hợp giả mạo, thư đó sẽ bị coi là thư rác hoặc gian lận, và có thể bị loại bỏ mà không ảnh hưởng tới người sử dụng Nếu đây không phải là thư giả mạo, có nghĩa là tên miền được biết đến và tên miền gửi thư đó có thể được được đưa vào danh sách những tên miền đáng tin cậy và được đưa vào các hệ thống quy định chống thư rác được sử dụng chung giữa các hãng cung cấp dịch vụ và thậm chí đưa ra cho cả người sử dụng
Hình 1 1 Khung ID người gửi được thi hành trên MTA [5]
Trang 17b Phương pháp Call-ID
Caller ID là một tiêu chuẩn đặt ra trong quá trình gửi thư Tiêu chuẩn này đòi hỏi người gửi thư điện tử phải cung cấp địa chỉ IP của máy chủ gửi thư theo dạng XML vào bản ghi DNS trên máy chủ tên miền của họ Máy chủ nhận thư điện tử và máy khách nhận bức thư đó sẽ kiểm tra địa chỉ gửi thư trong tiêu đề bức thư với địa chỉ đã được công bố để xác nhận máy chủ gửi thư Các bức thư không khớp với địa chỉ nguồn sẽ bị loại bỏ DNS là hệ thống diễn dịch các địa chỉ IP số sang các tên miền Internet có thể đọc được
c Phương pháp SPF (Sender Policy Framework) - dựa trên cơ cấu chính sách người gửi
Chuẩn SPF cũng yêu cầu người gửi thư điện tử phải sửa đổi DNS để cho biết máy chủ nào có thể gửi thư từ một tên miền Internet nhất định Tuy nhiên, SPF chỉ kiểm tra sự giả mạo khi bức thư trong quá trình chuyển thư hay còn gọi là ở mức “ngoài phong bì”, xác minh địa chỉ “phản hồi” của một bức thư, thường được máy chủ nhận thư gửi trở lại trước khi tiếp nhận phần nội dung thư, sau đó sẽthông báo tới máy chủ nhận thư để loại bỏ bức thư Trong đặc tả kỹ thuật kết hợp hai tiêu chuẩn, các công ty gửi thư điện tử sẽ công bố địa chỉ máy chủ thư điện tử của họ trong bản ghi DNS dưới định dạng Ngôn ngữ đánh dấu mở rộng (XML) Các công ty sẽ có thể kiểm tra sự giả mạo ở mức phong bì (cũng giống như trong đề xuất SPF) và trong phần nội dung thư (theo đề xuất của Microsoft)
Kỹ thuật này sẽ cho phép các công ty sử dụng cách thức của SPF để loại
bỏ thư rác trước khi chúng được gửi đi, nếu sự giả mạo bị phát hiện ngay ở mức phong bì
Trang 18Với những bức thư đòi hỏi sự kiểm tra kỹ hơn trong nội dung thư, thì phương pháp Caller ID sẽ được sử dụng Đề xuất này cũng sẽ hỗ trợ các tên miền đã có sẵn những bản ghi SPF là văn bản, không theo định dạng XML.
Phương pháp lọc thư rác mới dựa trên mạng Xã hội
Các nghiên cứu gần đây đã bắt đầu khai thác thông tin từ mạng xã hội cho việc xác định thư rác bằng cách xây dựng một đồ thị (các đỉnh là địa chỉ email, cung được thêm vào giữa 2 node A và B nếu giữa A và B có sự trao đổi thư qua lại) P.O
Boykin và V Roychowdhury đã sử dụng một số tính chất đặc trưng của mạng xã hội để xây dựng một công cụ lọc thư rác
Đầu tiên, người ta phân đồ thị thành các thành phần con rồi tính độ phân cụm cho từng thành phần này Mỗi thành phần con là một đồ thị mạng xã hội của một node, bao gồm tất cả các node hàng xóm (các node xung quanh có cung liên kết với node này) và những cung liên kết giữa các node hàng xóm này với nhau Nếu thành phần nào có độ phân cụm thấp thì node tương ứng với thành phần đó là một địa chỉ gửi thư rác Trong thành phần mạng xã hội của những node gửi thư rác, những node hàng xóm của nó thường là những node rất ngẫu nhiên, không có mối quan hệ (không có sự trao đổi email qua lại với nhau) nên độ phân cụm của mạng xã hội của những node này rất thấp Ngược lại, mạng xã hội ứng với những người dùng bình thường các node hàng xóm của nó có mối liên kết cao với nhau nên có độ phân cụm cao hơn Dựa vào độ phân cụm, người ta tạo được danh sách đen (Blacklist) gồm địa chỉ email tương ứng với những node có độ phân cụm rất thấp, danh sách trắng (Whitelist) ứng với node có độ phân cụm cao, số node còn lại sẽ được đưa vào danh sách cần xem xét (Greylist) Phương pháp này có thể phân loại được 53% tổng số email một cách chính xác là ham hay spam Nhược điểm
Trang 19của phương pháp là những spammer có thể xây dựng mạng xã hội của chính
họ nên khó có thể phát hiện ra
Cho đến nay, một bộ lọc thư rác được xem là hoàn hảo vẫn chưa được tạo
ra, và việc tạo ra một bộ lọc thư rác hoàn hảo cho mọi thời đại dường như là thể không thể Bởi, cuộc chiến không ngừng giữa những tên gửi thư rác và những bộ lọc làm cho siêu bộ lọc thư rác của hôm nay có thể trở thành cái lỗi thời của ngày mai Bộ lọc thư rác mạnh nhất sẽ là bộ lọc sử dụng kết hợp nhiều bộ lọc khác, hoặc tất cả các thuộc tính đã liệu kê ở trên đây [2]
1.3.2 Tình hình nghiên cứu ngoài nước
Các nghiên cứu về phân loại thư rác tập trung vào việc áp dụng các phương pháp học giám sát, sử dụng các kho dữ liệu lớn là tập các văn bản được phân loại theo các chủ đề khác nhau như phương pháp Naive Bayes (McCalum, 1998; Ko, 2000), Phương pháp k - NN (Yang, 2002), và Rocchio (Lewis, 1996)
Đối với phân loại bằng mạng nơ ron, mô hình đơn giản nhất được đề xuất bởi Dagan và các cộng sự (1997) và Ng (1997) là perceptron Một mô hình đơn giản khác là mạng nơ ron tuyến tính bổ sung một kiểu hồi quy logic được đề xuất bởi Schutze và các cộng sự vào năm 1995 mang lại hiệu quả tương đối cao
Một mô hình nơ ron không tuyến tính nhiều lớp sử dụng trong phân loại thư rác được đề xuất bởi Lam và Lee vào năm 1999 thay thế cho
mô hình một nơ ron tuyến tính đơn giản, tiếp theo đó một loạt các mô hình mạng nơ ron nhiều lớp được đề xuất như Ruiz và Srinivasan (1999), Weigend (1999); Yang and Liu (1999) Trong mô hình nhiều lớp này có thể thể hiện được sự tương tác giữa các thuật ngữ và có khả năng học tốt hơn [2]
Trang 201.4 Mục tiêu của luận văn
Tìm hiểu tổng quan về các phương pháp lọc thư rác thông dụng hiện
nay, và nghiên cứu áp dụng giải thuật NAIVE BAYES để xây dựng bộ lọc
thư rác
1.5 Mục tiêu cụ thể
Luận văn tập trung vào 3 mục tiêu chính như sau:
(i) Nghiên cứu tổng quát về bài toán lọc thư rác
(ii) Nghiên cứu cấu trúc, đặc trưng của thư rác
(iii) Nghiên cứu thuật toán Naive Bayes áp dụng cho bộ lọc thư rác
Trang 21Chương 2 PHÂN LỚP NAIVE BAYES 2.1 Định nghĩa
Naive Bayes là một thuật ngữ trong xữ lý số liệu thống kê Bayesian với một phân lớp xác suất dựa trên các ứng dụng định lý Bayes với giả định độc lập bền vững
Trong thuật ngữ đơn giản, một Nạve Bayes giả định rằng sự cĩ mặt (hay khơng cĩ mặt) của một đặc trưng của một lớp học là khơng liên quan đến
sự hiện diện (hay thiếu vắng) của bất kỳ các đặc trưng Ví dụ, một trái cây cĩ thể được coi là một quả táo nếu nĩ cĩ màu đỏ xung quanh, và đường kính khoảng 4 inch Mặc dù các đặc trưng này phụ thuộc vào sự tồn tại của các đặc trưng khác, Nạve Bayes xem xét tất cả các đặc trưng độc lập gĩp phần vào khả năng trái cây này là quả táo. [2]
Tuỳ thuộc vào tính chính xác bản chất của mơ hình xác suất, Nạve Bayes cĩ thể được đào tạo rất hiệu quả trong một thiết lập học cĩ giám sát Trong nhiều ứng dụng thực tế, tham số ước lượng cho các mơ hình Nạve Bayes sử dụng các phương pháp maximum likehood; nĩi cách khác, cĩ thể làm việc với các mơ hình Nạve Bayes mà khơng tin ở xác suất Bayesian hoặc bằng cách sử dụng bất cứ phương pháp Bayesian
Mặc dù thiết kế ngây thơ và hình như giả định đơn giản hơn, Nạve Bayes thường làm việc trong nhiều tình huống thế giới thực phức tạp tốt hơn
cĩ thể mong đợi Mới đây, xem xét vấn đề phân lớp Bayesian đã cĩ thể thấy
cĩ một số lý thuyết giải thích cho tính hiệu quả của Nạve Bayes Một lợi thế của Nạve Bayes là nĩ địi hỏi một số lượng nhỏ dữ liệu đào tạo để ước lượng các tham biến được giả định độc lập, chỉ những khác biệt của các biến cho mỗi lớp học cần phải được xác định và khơng phải tồn bộ ma trận thống kê
Trang 222.2 Các mô hình xác xuất Naive Bayes
Tóm lại, các mô hình xác suất cho một classifier là một mô hình có
điều kiện đối với một biến lớp phụ thuộc C với một số lượng nhỏ của các kết quả hay các lớp học, phụ thuộc vài biến đặc trưng F1 cho tới Fn
p(C|F 1 , , F n)
Vấn đề là nếu số các đặc trưng n là lớn hay khi một đặc trưng có thể chiếm một số lượng lớn các giá trị, sau đó dựa vào một mô hình trên các bảng xác suất là không thể làm được Do vậy, chúng ta công thức hoá lại các mô hình để dễ xữ lý
Bằng cách sử dụng định lý Bayes, có được:
p(C|F 1 , , F n )
) , , (
)
| , , (
) (
1
1
n
nF F
p
C F F
p C p
Trong thực hành, chỉ cần quan tâm tới tử số của phân số, khi mà mẫu
số không phụ thuộc vào C và các giá trị của các đặc trưng của Fi đã cho, nên mẫu số là hằng thực sự
p(C,F 1, , F n )
Tử số tương đương với mô hình xác suất có thể được viết lại như sau,
sử dụng định nghĩa của xác suất có điều kiện:
Trang 23= p(C) p(F 1 |C) p(F 2 |C,F 1 ) p(F 3 |C,F 1 ,F 2 ) p(F n |C,F 1 ,F 2 ,F 3 , ,F n-1 )
Bây giờ giả định “Naive” giả định có điều kiện độc lập đưa vào: giả định rằng mỗi đặc trưng Fi có điều kiện độc lập với tất cả các đặc trưng Fj cho j#i Điều này có nghĩa là:
C F
1
)
| (
Điều này có nghĩa là dưới sự độc lập giả định ở trên, các điều kiện phân phối trên các lớp học biến C có thể được thể hiện:
C F
1
)
| (
ở đây Z là một nhân tố xác định tỷ xích phụ thuộc vào F 1 , F 2 , , F n, chẳng hạn một hằng số nếu các giá trị của các biến đặc trưng đề được biết
Nếu có k lớp học và nếu một mô hình cho p(F i ) có thể được thể hiện
trong các thuật ngữ của r tham số, sau đó các mô hình Naive Bayes tương ứng
có (k-1) + nrk tham số Trong thực tế, thường k=2 (phân loại nhị phân) và
r=1 (các biến Bernoulli như là các đặc trưng) được phổ biến, và như vậy tổng
số lượng các tham số của mô hình Naive Bayes là 2n+1, ở đây n là số các đặc
trưng nhị phân sử dụng cho các dự đoán [2]
2.3 Ước lượng tham số
Tất cả các tham số mô hình (tức là, lớp học ưu tiên và các đặc trưng phân phối xác suất) có thể được gần đúng với các tần số liên quan từ việc thiết lập đào tạo Đây là các đánh giá maximum likehood khả năng có thể xảy
ra Các đặc trưng không riêng biệt cần phải được rời rạc đầu tiên Sự rời rạc
Trang 24có thể không giám sát (các ràng buộc lựa chọn đặc biệt) hoặc giám sát (ràng buộc hướng dẫn bởi thông tin trong dữ liệu đào tạo)
Nếu một lớp học và giá trị đặc trưng không bao giờ xảy ra cùng với nhau trong thiết lập đào tạo sau đó ước tính xác suất dựa trên tần số sẽ được 0 Đây là vấn đề vì nó sẽ phá huỷ tất cả các thông tin trong các xác suất khi chúng được nhân rộng Vì vậy, mong muốn kết hợp một mâu thuẩn nhỏ chỉnh sửa trong tất cả các xác suất ước tính rằng như vậy không bao giờ được thiết lập chính xác 0
2.4 Xây dựng một classifier từ mô hình xác suất
Các thảo luận cho đến nay đã bắt nguồn những mô hình đặc trưng độc lập, có nghĩa là, mô hình xác suất Naive Bayes Naive Bayes kết hợp mô hình này với một luật quyết định Là một luật chung để chọn nhiều nhất các giả thuyết có khả năng xảy ra, điều này được biết đến như là maximum a posteriori hay luật quyết định MAP Classifier tương ứng là chức năng phân lớp được xác định như sau:
Classify(f 1 , , f n) = argmaxc p(C = c)
n
i 1 p(F i = f i |C = c)
Một chú ý rằng giả định độc lập có thể dẫn đến một số kết quả không mong muốn trong tính toán sau xác suất Trong một số trường hợp khi có một phụ thuộc giữa sự quan sát, xác suất kể trên có thể mâu thuẩn với xác suất tiền
đề thứ hai do mọi xác suất luôn nhỏ hơn hoặc bằng một
Mặc dù rằng sự thật có thể áp dụng rộng rãi, giả định độc lập thường không chính xác, các Naive Bayes có vài thuộc tính làm cho nó hữu ích trong thực hành Đặc biệt thực hành, sự tách riêng của lớp có điều kiện phân loại đặc trưng có nghĩa là mỗi phân loại có thể được ước tính độc lập như là một