Tạp chí Nghiên cứu Khoa học - Đại học Sao Đỏ
21
NGHIÊN CỨU KHOA HỌC
1. Giới thiệu
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. Nhằm khắ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
Spam detection by feed-forward neural network
* Trường Đại học Sao Đỏ
Ths. Hoàng Thị Ngát, Ths. Nguyễn Thị Thu, Ths. Nguyễn Thị Thanh Bình*
Tuy nhiên, hiện nay nội dung và hình thức của Spam thay đổi rất nhanh và đa dạng do đó
các phương pháp trên đều tỏ ra kém linh hoạt, khả năng thích ứng không cao. Đặc điểm nhận
dạng Spam ngày càng không dễ thấy, vì thế mà việc nhận dạng một Email có phải là Spam hay
không một cách tự động cần có một quá trình tự nhận thức, đúc rút tri thức kinh nghiệm từ nhiều
Email nhận được trong quá khứ. Một mô hình như vậy rất thích hợp sử dụng mạng neural. Bài
báo này trình bày giải pháp ứng dụng mạng neural truyền thẳng đa lớp và giải thuật lan truyền
ngược để giải quyết vấn đề nhận dạng Spam.
2. Mô hình mạng neural 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 về hình thức nhưng nếu dùng một phương
pháp phân tích, thống kê nội dung của các spam thích hợp có thể tìm ra những đặc tính riêng,
khá ổn định [8]. Do đó một mạng neural được huấn luyện trên một tập mẫu đã được phân tích
và thống kê theo những đặc tính riêng đó sẽ trở thành bộ lọc spam tương đối ổn định.
Như chúng ta đã biết ứng dụng một mô hình mạng neural cụ thể thường được chia làm
hai giai đoạn: Huấn luyện và kiểm tra mẫu mới [1]. Tỷ lệ phát hiện Spam thành công của mạng
neural phụ thuộc rất nhiều vào tập mẫu nếu tập mẫu này được phân tích và thống kê với đầy
đủ các đặc trưng của Spam. Một tập mẫu tốt phải là một tập mẫu đủ lớn, chứa tất cả các Spam
điển hình, với các đặc trưng của Spam được thống kê và phân tích rõ ràng. Đối với bài toán
nhận dạng Spam bằng việc sử dụng mạng neural chỉ tốn thời gian huấn luyện ban đầu nhưng
thời gian đáp ứng cho một Email mới đem vào kiểm tra là khá nhanh.
Với những phân tích nêu trên, việc áp dụng mạng neural để giải quyết bài toán nhận dạng
Spam là hoàn toàn khả thi. Nhiệm vụ chính của bài toán là thiết kế một mạng neural để huấn
luyện trên một tập mẫu thu thập từ thực tế. Mỗi mẫu dữ liệu huấn luyện là thông tin về đặc điểm
có được qua phân tích, thống kê từ một email thực tế, hoặc là Spam hoặc không. Kết quả sau
khi huấn luyện là một mạng neural với các trọng số và bias đã được hiệu chỉnh tương ứng với
chỉ tiêu thực hiện đề ra và mạng neural sẽ được dùng để kiểm tra một Email bất kỳ xem có phải
là Spam hay không. Như vậy để giải quyết bài toán nhận dạng Spam với mô hình mạng neural
cần thực hiện qua 3 giai đoạn như sau [1,2,3,7]:
Giai đoạn 1: Thiết kế mạng neural dựa trên cơ sở phân tích dữ liệu xác định các đặc điểm
của Spam (đầu vào của mạng neural).
Giai đoạn 2: Huấn luyện cho mô hình mạng neural đã thiết kế
3. Thu thập cơ sở dữ liệu
Một Email thực tế thường có nhiều kiểu định dạng dữ liệu khác nhau như: Văn
bản, hình ảnh, âm thanh…Trong bài báo này nhóm tác giả đi sau phân tích dữ liệu ở
dạng văn bản ASCII (plaintext). Bộ dữ liệu chúng tôi sử dụng là bộ dữ liệu spambase.
Hình 1. Mô hình mạng neural dẫn tiến đa lớp
NGHIÊN CỨU KHOA HỌC NGHIÊN CỨU KHOA HỌC
Nội dung
email
dạng
Plaintext
Chương
trình
phân tích
đặc điểm
Dữ liệu
Mẫu mới
Mạng Nơron với các
tham số đã hiệu chỉnh, có
khả năng khái quát hóa
Kết quả kiểm tra
Đầu vào
Đầu ra
Lớp 1
Lớp 2 Lớp 3
Tạp chí Nghiên cứu Khoa học - Đại học Sao Đỏ
24
data do nhóm tác giả Mark Hopkins, Erik Reeber, George Forman, Jaap Suermondt
lập ra. Địa chỉ tải về: />Bộ dữ liệu gồm có 4601 mẫu ở dạng số, trong đó có 2778 mẫu không phải
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
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
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
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, />