Ứ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

Thư điện tử (Email) là một phương tiện giao tiếp rất đơn giản, tiện lợi và hiệu quả đối với

cộng đồng người sử dụng dịch vụ này của Internet. Chính vì những lợi ích do Email mang lại

nên số lượng thư trao đổi trên Internet ngày càng tăng, và một số không nhỏ trong đó là thư

rác (Spam).

Spam thường được gửi với số lượng rất lớn từ các cá nhân hoặc các tổ chức với mục

đích quảng cáo hoặc ăn cắp thông tin cá nhân của người nhận và không được người dùng

mong đợi. Theo nhiều thống kê, thư rác chiếm khoảng hơn một nửa lượng thư lưu thông trên

toàn thế giới và đây là nguồn lây lan virus nhanh nhất [6]. Thiệt hại do chúng gây ra rất lớn

đối với sự phát triển Internet nói chung và những người sử dụng thư điện tử nói riêng. Vì vậy

một yêu cầu đặt ra cho những nhà cung cấp dịch vụ Email và những người sử dụng là cần có

các phần mềm nhằm ngăn chặn Spam. Đã có nhiều giải pháp lọc Spam được đề xuất nghiên

cứu và áp dụng [8]. Phương pháp đầu tiên phải kể đến là phân loại Spam theo từ khóa, nghĩa

là dựa vào những từ hay cụm từ có trong tiêu đề thư hoặc nội dung thư để lọc. Ưu điểm của

phương pháp này là thuật toán đơn giản, cơ sở dữ liệu nhỏ nên tốn ít tài nguyên của hệ thống.

Tuy nhiên để đạt hiệu quả trong việc sử dụng đòi hỏi người dùng phải liên tục cập nhật cơ sở

dữ liệu cho phù hợp với sự thay đổi của Spam. Một phương pháp lọc Spam cổ điển khác là

phương pháp phân loại dùng danh sách trắng/đen. Bộ lọc này sẽ không chấp nhận những

Email từ những địa chỉ không có trong danh sách những địa chỉ email hoặc địa chỉ IP tốt (danh

sách trắng). Ngược lại những email gửi từ những địa chỉ không mong muốn (danh sách đen)

sẽ được coi là Spam. Để phương pháp này đạt hiệu quả cao đòi hỏi phải cập nhật danh trắng/

đen liên tục chính vì vậy phương pháp này trở nên không hiệu quả đối với sự tấn công của

những kẻ đưa địa chỉ vào danh sách trắng và chối bỏ địa chỉ khỏi danh sách đen.

pdf7 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 2105 | Lượt tải: 1download
Tóm tắt nội dung Ứ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, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ệm khá nhiều thời gian 
đồng thời kết quả rất tin cậy. Sau đây là một số hàm mà chúng tôi đã sử dụng trong 
chương trình:
Để khởi tạo một mạng neural trong bài báo này chúng tôi sử dụng hàm 
newff(P,T,[S1 S2...S(N-l)],{TF1 TF2...TFNl},BTF). Với hàm khởi tạo newff cho phép 
người dùng dễ dàng tạo ra một mạng neural với các véc tơ đầu vào P và véc tơ mục 
tiêu là T. Trong bài báo này P là một ma trận đầu vào kích thước 57x3601 tương ứng 
với 3000 véc tơ đầu vào, mỗi véc tơ đầu vào có 57 chiều tương ứng với 57 đặc trưng 
của Email; T là véc tơ mục tiêu có kích thước 3601x1. S1 đến S(N-1) là số neural của 
lần lượt từ lớp thứ nhất đến lớp thứ N-1, lớp thứ N được quyết định bởi chiều của 
véc tơ. S1 đến S(N-1) được nhập trực tiếp từ bàn phím tùy mục đích của người sử 
dụng. TF1 đến TFN là các hàm truyền lần lượt của các lớp 1 đến lớp N. BTF là hàm 
huấn luyện của mạng. Sau khi khởi tạo công việc tiếp theo là huấn luyện mạng, trong 
chương trình này chúng tôi sử dụng hàm huấn luyện mạng [net,tr] train(net,P,T) với 
net là biến khiển mạng neural đã được khởi tạo, P và T lần lượt là véc tơ đầu vào và 
véc tơ mục tiêu tương ứng, sau khi hàm train(net,P,T) thực hiện xong, mạng neural 
mới được lưu vào biến net, mạng này được sử dụng trong hàm T=sim(net,P_test) để 
kiểm tra đầu ra của mạng tương ứng với một đầu vào, P_test là véc tơ đầu vào, T là 
véc tơ đầu ra. Như vậy với các hàm kể, cùng với các lệnh căn bản để xử lý dữ liệu 
và lập trình giao diện trong công cụ GUI chúng ta có thể giải quyết được căn bản bài 
toán về mạng Neural. 
Chương trình này cho phép người dùng có thể thử nghiệm với nhiều mô hình 
mạng neural khác nhau trong bài toán nhận dạng Spam. Trong chương trình cho phép 
người dùng có thể lựa chọn số lớp, số neural trong từng lớp, hàm truyền, hàm huấn 
luyện một cách dễ dàng, đồng thời chương trình còn tích hợp các chức năng huấn 
luyện và kiểm tra trên bộ dữ liệu như đã trình bày ở phần trên. 
NGHIÊN CỨU KHOA HỌC NGHIÊN CỨU KHOA HỌC
Tạp chí Nghiên cứu Khoa học - Đại học Sao Đỏ 25
Giao diện chính của chương trình được thiết kế như sau: 
Hình 2. Giao diện chính của chương trình
Hình 3. Giao diện chương trình khi khởi tạo mạng Nơron 3 lớp
NGHIÊN CỨU KHOA HỌC NGHIÊN CỨU KHOA HỌC
ỨNG DỤNG MẠNG NƠRON PHÂN LOẠI THƯ RÁC
ỨNG DỤNG MẠNG NƠRON PHÂN LOẠI THƯ RÁC
Tạp chí Nghiên cứu Khoa học - Đại học Sao Đỏ26
NGHIÊN CỨU KHOA HỌC NGHIÊN CỨU KHOA HỌC
Chương trình đã thử nghiệm nhận dạng Spam với nhiều mô hình mạng neural khác 
nhau, kết quả thu được trong bảng 1 và bảng 2. 
Bảng 1. Một số kết quả thực nghiệm với mạng neural truyền thẳng hai lớp
STT
Cấu trúc 
mạng
Hàm 
truyền
Hàm 
training
Số 
epoch
Số 
vòng 
lặp
Thời 
gian (s)
Tỷ lệ phát 
hiện Spam
1 10-1 Tansig Trainlm 1000 240 01:22 90%
2 10-1 Tansig Trainrp 1000 239 00:14 85%
3 10-1 Tansig Trainbfg 1000 38 00:09 77.8%
4 10-1 Tansig Trainscg 1000 87 00:09 90.6%
5 10-1 Tansig Traincgb 1000 27 00:04 88.8%
6 10-1 Purelin Trainscg 1000 134 00:14 91.2%
7 10-1 Logsig Trainscg 1000 76 00:08 90%
8 15-1 Purelin Trainscg 1000 53 00:05 88%
9 20-1 Purelin Trainscg 1000 52 00:05 91.2%
 10 30-1 Purelin Trainscg 1000 58 00:06 88.2%
Bảng thực nghiệm trên cho thấy các kết quả 4, 6, 9 cho kết quả cao nhất với các hàm 
truyền Tansig, Purelin và hàm huấn luyện Trainscg. Nhóm tác giả tiếp tục thử nghiệm với 
mạng 3 lớp. Kết quả như sau: 
Bảng 2. Một số kết quả thực nghiệm với mạng neural truyền thẳng ba lớp
STT
Cấu trúc 
mạng
Hàm 
truyền
Hàm 
training
Số 
epoch
Số 
vòng 
lặp
Thời 
gian (s)
Tỷ lệ 
phát hiện 
Spam
1 20-10-1 Tansig Trainscg 1000 99 00:12 91%
2 30-10-1 Tansig Trainscg 1000 74 00:10 90.2%
3 20-10-1 Purelin Trainscg 1000 75 00:09 90.2%
4 30-10-1 Purelin Trainscg 1000 159 00:21 90.8%
Hình 4. Đồ thị huấn luyện của mạng
5. Kết luận và hướng phát triển
Từ kết quả thực nghiệm cho thấy với bộ dữ liệu như trên sử dụng mạng 2 lớp với hàm 
truyền Tansig hoặc Purelin và hàm huấn luyện Trainscg cho kết quả nhận dạng tốt nhất, 
trên 90% email được nhận dạng đúng. Với mạng 3 lớp kết quả nhận dạng thấp hơn. Nhóm 
tác giả cũng đã thử nghiệm với mạng 4 lớp nhưng thời gian huấn luyện rất lâu, tỉ lệ nhận 
dạng đúng không cao bằng mạng 2 lớp. 
Hướng tiếp cận này đặc biệt hiệu quả trong việc sử dụng làm bộ lọc cơ sở để giải 
quyết một cách tổng quát vấn đề thư rác đòi hỏi độ chính xác cao. Tuy nhiên, do đặc điểm 
của Spam luôn 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 
và phân tích các đặc trưng mới của thư rác đưa vào cơ sở dữ liệu. Để làm được việc này, 
cần xây dựng thêm một chương trình tự động thống kê các đặc trưng mới dựa trên nội 
dung thư. 
Việc sử dụng bộ dữ liệu spambase.data và sử dụng mạng Neural viết trên ngôn ngữ 
Matlab để nhận dạng thư rác làm cho bài toán trở lên đơn giản và hiệu quả với chi phí thời 
gian và công sức ít nhất vì giảm bớt thời gian thu tập và phân loại và xử lý cơ sở dữ liệu do 
sử dụng bộ dự liệu có sẵn đáng tin cậy. 
Với kết quả thu được và hướng phát triển tiếp theo, dự định trong thời gian tới sẽ tiến 
hành thử nghiệm tích hợp chương trình lọc thư rác này vào máy chủ email của trường Đại 
học Sao Đỏ.
Tài liệu tham khảo
[1] Lê Minh Trung, Giáo trình Mạng Nơron nhân tạo, Nhà xuất bản Thống kê
[2] Nguyễn Đình Thúc, Trí tuệ nhân tạo Lập trình tiến hóa, Nhà xuất bản Giáo Dục, 2008.
[3] Nguyễn Thanh Thủy, Trí tuệ nhân tạo, Các phương pháp giả quyết vấn đề và kỹ 
thuật xử lý tri thức, Nhà xuất bản Khoa học và Kỹ thuật, 2007.
[4] 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.
[́́5]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.
[6] Deborah Fallows, Spam: How it is hurting email and degrading life on the internet, 
Technical report, Pew Internet and American Life Project, Oct 2003.
[7] M.T.Hagan, H.B. Deuth, M.H. Beale, Neural Network Design, PWS Publishing 
Company, Boston, MA 1996.
[8] Spam Filtering Research, filter-research.htm.
Tạp chí Nghiên cứu Khoa học - Đại học Sao Đỏ 27
NGHIÊN CỨU KHOA HỌC NGHIÊN CỨU KHOA HỌC
Chương trình đã thử nghiệm nhận dạng Spam với nhiều mô hình mạng neural khác 
nhau, kết quả thu được trong bảng 1 và bảng 2. 
Bảng 1. Một số kết quả thực nghiệm với mạng neural truyền thẳng hai lớp
STT
Cấu trúc 
mạng
Hàm 
truyền
Hàm 
training
Số 
epoch
Số 
vòng 
lặp
Thời 
gian (s)
Tỷ lệ phát 
hiện Spam
1 10-1 Tansig Trainlm 1000 240 01:22 90%
2 10-1 Tansig Trainrp 1000 239 00:14 85%
3 10-1 Tansig Trainbfg 1000 38 00:09 77.8%
4 10-1 Tansig Trainscg 1000 87 00:09 90.6%
5 10-1 Tansig Traincgb 1000 27 00:04 88.8%
6 10-1 Purelin Trainscg 1000 134 00:14 91.2%
7 10-1 Logsig Trainscg 1000 76 00:08 90%
8 15-1 Purelin Trainscg 1000 53 00:05 88%
9 20-1 Purelin Trainscg 1000 52 00:05 91.2%
 10 30-1 Purelin Trainscg 1000 58 00:06 88.2%
Bảng thực nghiệm trên cho thấy các kết quả 4, 6, 9 cho kết quả cao nhất với các hàm 
truyền Tansig, Purelin và hàm huấn luyện Trainscg. Nhóm tác giả tiếp tục thử nghiệm với 
mạng 3 lớp. Kết quả như sau: 
Bảng 2. Một số kết quả thực nghiệm với mạng neural truyền thẳng ba lớp
STT
Cấu trúc 
mạng
Hàm 
truyền
Hàm 
training
Số 
epoch
Số 
vòng 
lặp
Thời 
gian (s)
Tỷ lệ 
phát hiện 
Spam
1 20-10-1 Tansig Trainscg 1000 99 00:12 91%
2 30-10-1 Tansig Trainscg 1000 74 00:10 90.2%
3 20-10-1 Purelin Trainscg 1000 75 00:09 90.2%
4 30-10-1 Purelin Trainscg 1000 159 00:21 90.8%
Hình 4. Đồ thị huấn luyện của mạng
5. Kết luận và hướng phát triển
Từ kết quả thực nghiệm cho thấy với bộ dữ liệu như trên sử dụng mạng 2 lớp với hàm 
truyền Tansig hoặc Purelin và hàm huấn luyện Trainscg cho kết quả nhận dạng tốt nhất, 
trên 90% email được nhận dạng đúng. Với mạng 3 lớp kết quả nhận dạng thấp hơn. Nhóm 
tác giả cũng đã thử nghiệm với mạng 4 lớp nhưng thời gian huấn luyện rất lâu, tỉ lệ nhận 
dạng đúng không cao bằng mạng 2 lớp. 
Hướng tiếp cận này đặc biệt hiệu quả trong việc sử dụng làm bộ lọc cơ sở để giải 
quyết một cách tổng quát vấn đề thư rác đòi hỏi độ chính xác cao. Tuy nhiên, do đặc điểm 
của Spam luôn 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 
và phân tích các đặc trưng mới của thư rác đưa vào cơ sở dữ liệu. Để làm được việc này, 
cần xây dựng thêm một chương trình tự động thống kê các đặc trưng mới dựa trên nội 
dung thư. 
Việc sử dụng bộ dữ liệu spambase.data và sử dụng mạng Neural viết trên ngôn ngữ 
Matlab để nhận dạng thư rác làm cho bài toán trở lên đơn giản và hiệu quả với chi phí thời 
gian và công sức ít nhất vì giảm bớt thời gian thu tập và phân loại và xử lý cơ sở dữ liệu do 
sử dụng bộ dự liệu có sẵn đáng tin cậy. 
Với kết quả thu được và hướng phát triển tiếp theo, dự định trong thời gian tới sẽ tiến 
hành thử nghiệm tích hợp chương trình lọc thư rác này vào máy chủ email của trường Đại 
học Sao Đỏ.
Tài liệu tham khảo
[1] Lê Minh Trung, Giáo trình Mạng Nơron nhân tạo, Nhà xuất bản Thống kê
[2] Nguyễn Đình Thúc, Trí tuệ nhân tạo Lập trình tiến hóa, Nhà xuất bản Giáo Dục, 2008.
[3] Nguyễn Thanh Thủy, Trí tuệ nhân tạo, Các phương pháp giả quyết vấn đề và kỹ 
thuật xử lý tri thức, Nhà xuất bản Khoa học và Kỹ thuật, 2007.
[4] 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.
[́́5]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.
[6] Deborah Fallows, Spam: How it is hurting email and degrading life on the internet, 
Technical report, Pew Internet and American Life Project, Oct 2003.
[7] M.T.Hagan, H.B. Deuth, M.H. Beale, Neural Network Design, PWS Publishing 
Company, Boston, MA 1996.
[8] Spam Filtering Research, filter-research.htm.

File đính kèm:

  • pdfỨ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.pdf