Hiện nay, thư rác đang là một vấn đề lớn trong cộng đồng người dùng Internet, nó gây nhiều phiền toái cho người dùng và gây thiệt hại về kinh tế. Bài báo này trình bày một phương pháp lọc thư rác dựa trên nội dung thư sử dụng mô hình mạng Neural nhân tạo. Qua kết quả thực nghiệm cho thấy đây là một phương pháp khá hiệu quả để xử lý vấn đề về thư rác.
ỨNG DỤNG MÔ HÌNH MẠNG NEURAL TRUYỀN THẲNG ĐA LỚP TRONG BÀI TOÁN NHẬN DẠNG THƯ RÁC Tóm tắt: Hiện nay, thư rác vấn đề lớn cộng đồng người dùng Internet, gây nhiều phiền toái cho người dùng gây thiệt hại kinh tế Bài báo trình bày phương pháp lọc thư rác dựa nội dung thư sử dụng mô hình mạng Neural nhân tạo Qua kết thực nghiệm cho thấy phương pháp hiệu để xử lý vấn đề thư rác I GIỚI THIỆU Thư điện tử (Email) phương tiện giao tiếp đơn giản, tiện lợi hiệu cộng đồng người sử dụng dịch vụ Internet Chính lợi ích Email mang lại nên số lượng thư trao đổi Internet ngày tăng, số không nhỏ thư rác (Spam) Spam thường gửi với số lượng lớn từ cá nhân tổ chức với mục đích quảng cáo ăn cắp thông tin cá nhân người nhận không người dùng mong đợi Theo nhiều thống kê, thư rác chiếm khoảng nửa lượng thư lưu thông toàn giới nguồn lây lan virus nhanh [3] Thiệt hại chúng gây lớn phát triển Internet nói chung người sử dụng thư điện tử nói riêng Vì yêu cầu đặt cho nhà cung cấp dịch vụ thư điện tử người sử dụng cần có phần mềm nhằm ngăn chặn thư rác Đã có nhiều giải pháp lọc thư rác đề xuất nghiên cứu áp dụng [8] Phương pháp phải kể đến phân loại thư rác theo từ khóa, nghĩa dựa vào từ hay cụm từ có tiêu đề thư nội dung thư để lọc Ưu điểm phương pháp thuật toán đơn giản, sở liệu nhỏ nên tốn tài nguyên hệ thống Tuy nhiên để đạt hiệu việc sử dụng đòi hỏi người dùng phải liên tục phải cập nhật sở liệu cho phù hợp với thay đổi Spam Một phương pháp lọc thư rác cổ điển khác phương pháp phân loại dùng danh sách trắng/đen Bộ lọc không chấp nhận email từ địa danh sách địa email địa IP tốt (danh sách trắng) Ngược lại Email gửi từ địa không mong muốn (danh sách đen) coi Spam Để phương pháp đạt hiệu cao đòi hỏi phải cập nhật danh trắng/đen liên tục phương pháp trở nên không hiệu công kẻ đưa địa vào danh sách trắng chối bỏ địa khỏi danh sách đen Nhằm khắc phục nhược điểm trên, phương pháp lọc SpamAssassin đời, phương pháp bao gồm tập chương trình lọc, luật để xác định đánh dấu thư rác Để xác định thư đến có phải thư rác hay không dùng chương trình lọc để đánh dấu sở nội dung thư sau dựa tập luật xác định trước kí hiệu dấu câu đặc biệt xem thư có vi phạm luật không tính điểm thư Từ kết thu được, xác định thư rác hay thư thường Phương pháp có ưu điểm khả phát Spam cao, nhiên khối lượng tính toán lớn phải xử lý email lớn [1,2] tốn nhiều tài nguyên hệ thống Hiện nội dung hình thức spam thay đổi nhanh đa dạng đo phương pháp tỏ linh hoạt, khả thích ứng không cao Đặc điểm nhận dạng Spam ngày không dễ thấy, mà việc nhận dạng email có phải spam hay không cách tự động cần có trình tự nhận thức, đúc rút tri thức kinh nghiệm từ nhiều email nhận khứ Một mô thích hợp sử dụng mạng neural Bài báo trình bày giải pháp ứng dụng mạng neural truyền thẳng đa lớp giải thuật lan truyền ngược toán nhận dạng thư rác II MÔ HÌNH MẠNG NUERAL TRONG BÀI TOÁN NHẬN DẠNG THƯ RÁC Spam thường có khuôn dạng biến đổi, đa dạng hình thức dùng phương pháp phân tích, thống kê nội dung spam thích hợp tìm đặc tính riêng, ổn định [8] Do mạng neural huấn luyện tập mẫu phân tích thống kê theo đặc tính riêng trở thành lọc spam tương đối ổn định Như biết ứng dụng mô hình mạng neural cụ thể thường chia làm hai giai đoạn: Huấn luyện kiểm tra mẫu [5] Tỷ lệ phát Spam thành công mạng neural phụ thuộc nhiều vào tập mẫu tập mẫu phân tích thống kê với đầy đủ đặc trưng Spam Một tập mẫu tốt phải tập mẫu đủ lớn, chứa tất Spam điển hình, với đặc trưng spam thống kê phân tích rõ ràng Đối với toán nhận dạng thư rác việc sử dụng mạng neural tốn thời gian huấn luyện ban đầu thời gian đáp ứng cho email đem vào kiểm tra nhanh Với phân tích nêu trên, việc áp dụng mạng neural để giải toán nhận dạng thư rác hoàn toàn khả thi Nhiệm vụ toán thiết kế mạng neural để huấn luyện tập mẫu thu thập từ thực tế Mỗi mẫu liệu huấn luyện thông tin đặc điểm có qua phân tích, thống kê từ email thực tế, spam không Kết sau huấn luyện mạng nơron với trọng số bias hiệu chỉnh tương ứng với tiêu thực đề mạng neural dùng để kiểm tra email xem có phải spam hay không Như để giải toán nhận dạng thư rác với mô hình mạng neural cần thực qua giai đoạn sau [4,5,6,7]: Giai đoạn 1: Thiết kế mạng neural dựa sở phân tích liệu xác định đặc điểm Spam (đầu vào mạng neural) Giai đoạn 2: Huấn luyện cho mô hình mạng neural thiết kế Mạng Nơ ron với tham số hiệu chỉnh, có khả khái quát hóa Mạng Neural với tham số khởi trị ban đầu Dữ liệu huấn Luyện Giai đoạn 3: Kiểm tra huấn luyện mẫu Mạng với tham số hiệu chỉnh, có khả khái quát hóa Dữ liệu Chương trình phân tíchNơ đặcron điểm Nội dung email Mẫu dạng Plaintext Kết kiểm tra Do toán nhận dạng thư rác có đầu vào đầu rõ ràng, số lượng đầu xác định nên ta chọn mạng dẫn tiến đa lớp Mô hình mạng sau: Hình Mô hình mạng neural dẫn tiến đa lớp Ta cần phân biệt email có phải spam hay không đầu mạng nhận giá trị tương ứng với spam nonspam, tầng mạng có nơron, số lượng nơron đầu vào mạng phụ thuộc vào đặc tính email số hóa liệu cho mẫu Vì trình học mạng trình tìm trọng số bias cho số thực thi mạng đạt giá trị mong muốn Khi hoàn thành trình học, tri thức mạng học thể qua tham số Nói khác toán mạng neural toán tối ưu Mạng neural huấn luyện thành công toán tối ưu có lời giải Có nhiều thuật toán tìm lời giải cho toán tối ưu Trong giải pháp này, nhóm tác giả sử dụng thuật toán lan truyền ngược Backpropagation III THU THẬP CƠ SỞ DỮ LIỆU Một email thực tế thường có nhiều kiểu định dạng liệu khác như: Văn bản, hình ảnh, âm thanh…Nghiên cứu liệu dạng văn ASCII (plaintext) Điều chưa thật khách quan lại tỏ có hiệu cài đặt thực thi tốt văn dung lượng nhỏ dễ phân tích Bộ liệu sử dụng liệu spambase.data nhóm tác giả Mark Hopkins, Erik Reeber, George Forman, Jaap Suermondt lập Địa tải về: http://www.ics.uci.edu/~mlearn/MLRepository.html Bộ liệu gồm có 4601 mẫu dạng số, có 2778 mẫu spam, 1813 mẫu spam (bằng 39,4%) Mỗi mẫu lưu hàng file Mỗi hàng chia thành 58 cột tương ứng với 58 thuộc tính đặc trưng cho email Trong đặc tính cuối có giá trị thể email có phải spam hay không Để áp dụng cho giải pháp mình, nhóm tác giả tách liệu thành hai liệu Một liệu dùng để huấn luyện bao gồm 3601 email liệu bao gồm 1000 email để kiểm tra Spam liệu email quảng cáo, website, cách kiếm tiền nhanh, thư theo dây truyền, khiêu dâm…Các mẫu spam lấy từ máy chủ, người dùng riêng lẻ Các mẫu spam thu thập từ email cá nhân IV KẾT QUẢ THỰC NGHIỆM Để huấn luyện mạng neural với liệu nêu trên, nhóm tác giả xây dựng chương trình ngôn ngữ lập trình Matlap Trong chương trình có sử dụng số hàm mạng neural công cụ Neural Network Toolbox Việc sử dụng hàm có sẵn Matlap giúp người lập trình tiết kiệm nhiều thời gian đồng thời kết tin cậy Phần giao diện chương trình nhóm tác giả sử dụng công cụ GUI Matlap để thiết kế giao diện Chương trình cho phép thử nghiệm với nhiều mô hình mạng neural khác toán nhận dạng thư rác Chương trình cho phép người dùng lựa chọn số lớp, số neural lớp, hàm truyền, hàm huấn luyện cách dễ dàng, đồng thời chương trình tích hợp chức huấn luyện kiểm tra liệu trình bày phần Giao diện chương trình thiết kế sau: Hình 2: Giao diện chương trình Hình 3: Giao diện chương trình khởi tạo mạng nơron lớp Hình 4: Đồ thị huấn luyện mạng Chương trình thử nghiệm nhận dạng thư rác với nhiều mô hình mạng neural khác nhau, kết thu bảng bảng Bảng Kết thực nghiệm với mạng neural truyền thẳng hai lớp Cấu trúc mạng Hàm chuyền Hàm training Số epoch 10-1 10-1 10-1 10-1 10-1 Tansig Tansig Tansig Tansig Tansig Trainlm Trainrp Trainbfg Trainscg Traincg 1000 1000 1000 1000 1000 Số vòng lặp 240 239 38 87 27 Tansig Tansig b Traincgf Traincg 1000 1000 141 00:19 00:03 91.2% 0% Tansig Purelin logsig Purelin Purelin Purelin p Trainoss Trainscg Trainscg Trainscg Trainscg Trainscg 1000 1000 1000 1000 1000 1000 134 76 53 52 58 00:02 00:14 00:08 00:05 00:05 00:06 51% 91.2% 90% 88% 91.2% 88.2% 10-1 10-1 10-1 10-1 10-1 15-1 20-1 30-1 Thời Tỷ lệ gian (s) phát Spam 01:22 90% 00:14 85% 00:09 77.8% 00:09 91.6% 00:04 88.8% Bảng Kết thực nghiệm với mạng neural truyền thẳng ba lớp Cấu trúc Hàm Hàm Số mạng chuyền training epoch 20-10-1 30-10-1 20-10-1 30-10-1 Tansig Tansig Purelin Tansig Trainscg Trainscg Trainscg Trainscg 1000 1000 1000 1000 Số vòng lặp 99 74 75 159 Thời Tỷ lệ gian (s) phát 00:12 00:10 00:09 00:21 Spam 91% 90.2% 90.2% 90.8% V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Từ kết thực nghiệm cho thấy với mạng lớp tầng ẩn liệu huấn luyện kết nhận dạng tốt ổn định nhất, khoảng 90% Spam email nhận dạng Hướng tiếp cận đặc biệt hiệu việc sử dụng làm lọc sở để giải cách tổng quát vấn đề thư rác đòi hỏi độ xác cao Tuy nhiên, đặc điểm Spam luôn biến đổi nên đòi hỏi chương trình phải thường thường xuyên cập nhật phân tích đặc trưng thư rác đưa vào sở liệu Để làm việc này, cần xây dựng thêm chương trình tự động thống kê đặc trưng dựa nội dung thư Việc sử dụng liệu spambase.data sử dụng mạng Neural viết ngôn ngữ Matlap để nhận dạng thư rác làm cho toán trở lên đơn giản hiệu với chi phí thời gian công sức giảm bớt thời gian thu tập phân loại xử lý sở liệu sử dụng dự liệu có sẵn đáng tin cậy Với kết thu hướng phát triển tiếp theo, dự định thời gian tới tiến hành thử nghiệm tích hợp chương trình lọc thư rác vào máy chủ email trường Đại học Sao Đỏ TÀI LIỆU THAM KHẢO [1] A.Gray and M.Haahr Personalised, Collaborative Spam Filtering, Proc Of the Conference on Email and Anti-spam (CEAS), Mountain View, CA, USA, July 2004 [ [[2]J Golbeck and J Hendler, Reputation Network Analysis for Email Filtering Proc Of the Conference on Email and Anti-Spam (CEAS), Mountain View, CA, USA, July 2004 [3] Deborah Fallows, Spam: How it is hurting email and degrading life on the internet, Technical report, Pew Internet and American Life Project, Oct 2003 [4] M.T.Hagan, H.B Deuth, M.H Beale, Neural Network Design, PWS Publishing Company, Boston, MA 1996 [5] Lê Minh Trung: Giáo trình Mạng Nơron nhân tạo, Nhà xuất Thống kê [6] Nguyễn Đình Thúc, Trí tuệ nhân tạo Lập trình tiến hóa, Nhà xuất Giáo Dục, 2008 [7] Nguyễn Thanh Thủy, Trí tuệ nhân tạo: Các phương pháp giả vấn đề kỹ thuật xử lý tri thức, Nhà xuất Khoa học Kỹ thuật, 2007 [8] Spam Filtering Research, http://spamlinks.net/filter-research.htm ỨNG DỤNG MÔ HÌNH MẠNG NEURAL TRUYỀN THẲNG ĐA LỚP TRONG BÀI TOÁN NHẬN DẠNG THƯ RÁC - Đề tài mô hình mạng neural truyền thẳng đa lớp không thấy trình bày phần mô hình mạng neural truyền thẳng đa lớp - Trong lúc neural lúc nơ ron - Bảng biểu để size 14 không - Trong nhiều khoảng trắng - Nhiều đoạn trình bày chưa thụt lề dòng đầu -