Tải bản đầy đủ (.docx) (9 trang)

Ứng dụng mô hình mạng neural trong bài toán nhận dạng thư rác

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (330.35 KB, 9 trang )

Ứ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 đ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.
I. 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 [3]. 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à 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ụ thư điện tử và những người sử
dụng là cần có cá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
đượ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
thư rác 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 phải 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 thư rác 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 phục
những nhược điểm trên, phương pháp lọc SpamAssassin ra đời, phương pháp này bao
gồm một tập các chương trình lọc, các luật để xác định và đánh dấu thư rác. Để xác định
một thư mới đến có phải là thư rác hay không nó dùng các chương trình lọc để đánh dấu
trên cơ sở nội dung của thư sau đó dựa trên tập các luật được xác định trước và những kí
hiệu dấu câu đặc biệt xem thư có vi phạm các luật này không và tính điểm đối với từng
thư. Từ kết quả thu được, xác định được một thư là rác hay thư thường. Phương pháp này
có ưu điểm là khả năng phát hiện Spam rất cao, tuy nhiên khối lượng tính toán lớn khi
phải xử lý những email lớn [1,2] vì vậy tốn nhiều tài nguyên của hệ thống.
Hiện nay nội dung và hình thức của spam thay đổi rất nhanh và đa dạng đo đó 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 trong bài 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 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 [5]. 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 thư rác 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
thư rác 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 nơron 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 thư rác với mô hình mạng neural cần thực hiện qua 3 giai đoạn như sau [4,5,6,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ế
Mạng Nơ ron với các tham số đã hiệu chỉnh, có khả năng khái quát hóa
Mạng Neural với các 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 trên mẫu mới
Mạng
với các tham số đã hiệu chỉnh, có khả năng 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 mới
dạng Plaintext


Kết quả kiểm tra


Do bài toán nhận dạng thư rác có đầu vào và đầu ra rõ ràng, số lượng đầu ra được xác
định nên ta chọn mạng dẫn tiến đa lớp. Mô hình của mạng như sau:

Hình 1. Mô hình mạng neural dẫn tiến đa lớp
Ta cần phân biệt một email có phải là spam hay không do vậy đầu ra của mạng nhận 2 giá
trị 1 và 0 tương ứng với spam và nonspam, do đó tầng ra của mạng chỉ có một nơron, số
lượng nơron đầu vào của mạng phụ thuộc vào đặc tính của email được số hóa là dữ liệu
cho mỗi mẫu.
Vì quá trình học của mạng là quá trình đi tìm bộ trọng số và bias sao cho chỉ số thực thi
của mạng đạt giá trị mong muốn. Khi đã hoàn thành quá trình học, tri thức của mạng học
được thể hiện qua bộ tham số. Nói một các khác thì bài toán mạng neural chính là bài
toán tối ưu. Mạng neural huấn luyện thành công nếu bài toán tối ưu có lời giải. Có rất
nhiều thuật toán đi tìm lời giải cho bài 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 dữ liệu khác nhau như: Văn bản, hình
ảnh, âm thanh…Nghiên cứu này dữ liệu chỉ ở dạng văn bản ASCII (plaintext). Điều này
tuy chưa thật khách quan nhưng lại tỏ ra có hiệu quả cài đặt và thực thi tốt văn bản dung
lượng nhỏ dễ phân tích. Bộ dữ liệu chúng tôi sử dụng là bộ dữ liệu spambase.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 spam, 1813
mẫu là spam (bằng 39,4%). Mỗi mẫu được lưu trong một hàng của 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 một email. Trong đó đặc tính cuối
cùng có giá trị là 0 hoặc 1 thể hiện email đó có phải là spam hay không. Để áp dụng cho

giải pháp của mình, nhóm tác giả tách bộ dữ liệu thành hai bộ dữ liệu mới. Một bộ dữ liệu
dùng để huấn luyện bao gồm 3601 email và một bộ dữ liệu bao gồm 1000 email để kiểm
tra.
Spam trong bộ dữ liệu là những email quảng cáo, website, các cách kiếm tiền nhanh, các
thư theo dây truyền, hoặc khiêu dâm…Các mẫu spam được lấy từ máy chủ, và những
người dùng riêng lẻ. Các mẫu không phải là spam được thu thập từ những email cá nhân.
IV. KẾT QUẢ THỰC NGHIỆM
Để huấn luyện mạng neural với bộ dữ liệu nêu trên, nhóm tác giả đã xây dựng một
chương trình bằng ngôn ngữ lập trình Matlap. Trong chương trình có sử dụng một số hàm
về mạng neural trong công cụ Neural Network Toolbox. Việc sử dụng những hàm có sẵn
trong Matlap sẽ giúp người lập trình tiết kiệm khá nhiều thời gian đồng thời kết quả rất tin
cậy. Phần giao diện của chương trình nhóm tác giả sử dụng công cụ GUI trong Matlap để
thiết kế giao diện. Chương trình này cho phép 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 thư rác. 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.
Giao diện 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


Hình 4: Đồ thị huấn luyện của 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 quả thu được trong bảng 1 và bảng 2.
Bảng 1. Kết quả 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
3

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

6
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 hiện
Spam

01:22
90%
00:14
85%
00:09
77.8%
00:09
91.6%
00:04
88.8%

Bảng 2. Kết quả 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 hiện
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 quả thực nghiệm cho thấy với mạng 3 lớp 1 tầng ẩn và bộ dữ liệu huấn luyện như
trên thì kết quả nhận dạng là tốt và ổn định nhất, khoảng trên 90% Spam email được nhận
dạng đúng.
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ữ
Matlap để 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] 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 bản 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 bản Giáo Dục,
2008
[7] 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
[8] Spam Filtering Research, />Ứ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 là mô hình mạng neural truyền thẳng đa lớp nhưng trong bài không thấy
trong bài trình bày phần mô hình mạng neural truyền thẳng đa lớp trong bài.

-

Trong bài lúc neural lúc nơ ron.


-

Bảng biểu để size 14 không

-

Trong bài nhiều khoảng trắng.

-

Nhiều đoạn trình bày chưa thụt lề dòng đầu.

-



×