Tải bản đầy đủ (.doc) (71 trang)

phân loại thư rác bằng phương pháp học máy

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 (1.32 MB, 71 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-------o0o-------

PHẠM THỊ KIM DUNG

PHÂN LOẠI THƯ RÁC
BẰNG PHƯƠNG PHÁP HỌC MÁY

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái nguyên, 2015


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

-------o0o-------

PHẠM THỊ KIM DUNG

PHÂN LOẠI THƯ RÁC
BẰNG PHƯƠNG PHÁP HỌC MÁY
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS. TS ĐỖ TRUNG TUẤN


Thái nguyên, 2015


ii
MỤC LỤC
MỤC LỤC..................................................................................................................... ii
LỜI CAM KẾT............................................................................................................ iv
LỜI CẢM ƠN............................................................................................................... v
DANH MỤC CÁC TỪ VIẾT TẮT.............................................................................. vi
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU................................................................. vii
MỞ ĐẦU..................................................................................................................... vii
CHƯƠNG 1.TỔNG QUAN VỀ HỌC MÁY VÀ THƯ RÁC........................................ 3
1.1. Tổng quan vềhocc̣ máy......................................................................................... 3
1.1.1 Trit́ uê nc̣ hân tạo.............................................................................................. 3
1.1.2. Học máy....................................................................................................... 4
1.1.3. Các kĩ thuật học máy................................................................................... 5
1.1.4. Một số ứng dụng của học máy..................................................................... 7
1.1.5. Học có giám sát........................................................................................... 7
1.2. Tổng quan về thư rác........................................................................................ 12
1.2.1. Định nghĩa về thư rác và các đặc trưng của thư rác.................................... 12
1.2.2. Phân loại thư rác........................................................................................ 15
1.2.3. Đặc điểm thư rác........................................................................................ 15
1.2.4. Tác hại của thư rác..................................................................................... 16
1.2.5. Quy trình và thủ đoạn gửi thư rác............................................................. 17
1.3. Biểu diễn phân loại thư rác dựa trên học máy có giám sát................................20
1.3.1. Nhu cầu phân loại thư rác.......................................................................... 20
1.3.2. Cách biểu diễn nội dung thư rác................................................................. 23
1.4. Kết luận chương................................................................................................ 27
CHƯƠNG 2. PHÂN LOẠI THƯ RÁC BẰNG


MỘT SỐ THUẬT TOÁN HỌC

MÁY CÓ GIÁM SÁT................................................................................................. 28
2.1. Thuật toán Naïve Bayes.................................................................................... 28
2.1.1.Giới thiệu Thuật toán Naïve Bayes............................................................. 28
2.1.2. Mô tả thuật toán......................................................................................... 28
2.1.3. Áp dụng trong phân loại thư rác................................................................. 33


iii
2.2. Học máy theo phương pháp máy vec tơ tựa SVM............................................ 36
2.2.1. Giới thiệu SVM.......................................................................................... 36
2.2.2. Mô tả thuật toán......................................................................................... 37
2.2.2. Huấn luyện SVM....................................................................................... 40
2.2.3. Ứng dụng trong phân loại thư rác.............................................................. 40
2.3. Xây dựng mô hình lọc thư rác dựa trên học máy có giám sát...........................41
2.3.1. Lựa chọn mô hình và thuật toán................................................................. 41
2.3.2. Xây dựng hệ thống..................................................................................... 41
2.4. Kết luận chương................................................................................................ 46
CHƯƠNG 3.CÀI ĐẶT THỬ NGHỆM VIỆC PHÂN LOẠI THƯ RÁC.....................47
3.1. Bài toán phân loại thư rác................................................................................. 47
3.2. Cài đặt thử nghiệm và kết quả........................................................................... 50
3.2.1. Bộ dữ liệu thử nghiệm................................................................................ 50
3.2.2. Môi trường cài đặt...................................................................................... 52
3.2.3. Giao diện của chương trình thử nghiệm..................................................... 52
3.2.4. Kết quả thử nghiệm.................................................................................... 54
3.3. Đánh giá thử nghiệm......................................................................................... 55
3.4. Kết luận chương................................................................................................ 56
KẾT LUẬN................................................................................................................. 57
Các kết quả đạt được............................................................................................ 57

Hướng phát triển luận văn.................................................................................... 57
DANH MỤC TÀI LIỆU THAM KHẢO..................................................................... 58


iv

LỜI CAM KẾT

Dưới sự giúp đỡ nhiệt tình và chỉ bảo chi tiết của giáo viên hướng dẫn, tôi đã
hoàn thành luận văn của mình. Tôi xin cam kết luận văn này là của bản thân tôi làm
và nghiên cứu, không hề trùng hay sao chép của bất kỳ ai.
Tài liệu được sử dụng trong luận văn được thu thập từ các nguồn kiến thức
hợp pháp.
Tác giả luận văn

Phạm Thị Kim Dung


v
LỜI CẢM ƠN
Để hoàn thành chương trình cao học và viết luận văn này, em đã nhận được
sự giúp đỡ và đóng góp nhiệt tình của các thầy cô trường Đại học Công nghệ thông
tin và Truyền thông, Đại học Thái Nguyên.
Trước hết, em xin chân thành cảm ơn các thầy cô trong khoa Đào tạo sau đại
học, đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong suốt
những năm học qua.
Xin chân thành cảm ơn gia đình, bạn bè đã nhiệt tình ủng hộ, giúp đỡ, động
viên cả về vật chất lẫn tinh thần trong thời gian học tập và nghiên cứu.
Trong quá trình thực hiện luận văn, mặc dù đã rất cố gắng nhưng cũng không
tránh khỏi những thiếu sót. Kính mong nhận được sự cảm thông và tận tình chỉ bảo

của các thầy cô và các bạn.


vi
DANH MỤC CÁC TỪ VIẾT TẮT
AI

Trí tuệ nhân tạo

Clustering

Phân cụm

Computer Vision

Nhìn máy

ESP

Email Service Provider

HAM

Thư điện tử không là thứ rác

ISP

Internet Service Provider, nhà cung cấp dịch vụ Internet

KNN


K người láng giềng gần nhất

MI

Mutual information, thông tin tương hỗ

NB

Phương pháp Naïve Bayes

Regression

Hồi qui

Search Engine

Máy tìm kiếm

Server

Máy chủ, phía máy chủ

SMO

Sequential Minimal Optimization

SMS

Short Message Service


Spam Email

Thư rác

SQL

Structured Query Language

Stemming

Gốc (của từ)

SVM

Support Vector Machine, máy vec tơ tựa

TTNT

Trí tuệ nhân tạo

UBE

Unsolicited Bulk Email, thư không lành mạnh

UCE

Unsolicited Commercial Email, thư không yêu cầu đến

VC


Kích thước Vapnik- Chervonenkis

XML

eXtensible Markup Language


vii
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU
HÌNH
Hình 1.1: Cấu trúc một hệ thống học máy tiêu biểu cho trường hợp phân loại.......6
Hình 1.2. Mô hình thuật toán học có giám sát......................................................... 8
Hình 1.3. Ví dụ về trang web lấy cắp địa chỉ thư của người dùng........................17
Hình 1.4. Một số website của các công ty gửi thư rác........................................... 18
Hình 1.5. Minh họa cách gửi thư rác qua máy chủ thư (open relay).....................19
Hình 1.6. Số lượng thư rác từ tháng 4 đến tháng 9 năm 2014............................... 21
Hình 1.7. Danh sách các quốc gia phát tán thư rác trong quí 3/2014

của

Kaspersky Lab

23

Hình 2.1. Ánh xạ dữ liệu từ không gian gốc sang không gian đặc trưng cho phép
phân chia dữ liệu bởi siêu phẳng 38
Hình 2.2. Siêu phẳng với lề cực đại cho phép phân chia các hình vuông khỏi các
hình tròn trong không gian đặc trưng


38

Hình 2.3. Tiền xử lý dữ liệu.................................................................................. 42
Hình 2.4. Huấn luyện dữ liệu................................................................................ 46
Hình 3.1: Mô hình phân loại thư rác bằng 2 thuật toán Bayse và SVM................48
Hình 3.2. Tập các File trong HAM....................................................................... 51
Hình 3.3. Tập các File trong SPAM...................................................................... 51
Hình 3.4. Giao diện chương trình chính phân loại thư rác bằng Bayes và SVM .. 52
Hình 3.5. Giao diện xử lý dữ liệu bước huấn luyện.............................................. 53
Hình 3.6. Giao diện kết quả của thử nghiệm......................................................... 53
Hình 3.7. Độ chính xác phân loại của NB và SVM.............................................. 54
BẢNG
Bảng 1.1. Ví dụ nội dung của bốn thư..................................................................... 24
Bảng 1.2. Biểu diễn vec tơ cho dữ liệu trong bảng 1.1............................................ 24
Bảng 2.1: Bộ dữ liệu huấn luyện cho bài toán phân loại “Chơi Tennis”..................31
Bảng 3.1: Độ chính xác phân loại hai phương pháp phân loại khác nhau................54


1

MỞ ĐẦU
Ngày nay, Internet mở ra nhiều kênh liên lạc, nhiều dịch vụ mới cho người sử
dụng, một trong những dịch vụ mà Internet mang lại là dịch vụ thư điện tử (Email),
đó là 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. Chính vì những lợi ích do thư 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).
Trong những năm gần đây, spam hay các thư không mong muốn đã trở thành
một vấn nạn và đe dọa khả năng giao tiếp của con người trên kênh liên lạc này, đó là
một trong những thách thức lớn mà khách hàng và các nhà cung cấp dịch vụ phải

đối phó. Spam đã trở thành một hình thức quảng cáo chuyên nghiệp, phát tán virus,
ăn cắp thông tin với nhiều thủ đoạn và mánh khóe cực kỳ tinh vi. Người dùng sẽ
phải mất khá nhiều thời gian để xóa những thư “không mời mà đến”, nếu vô ý còn
có thể bị nhiễm virus và nặng nề hơn là mất thông tin như thẻ tín dụng, tài khoản
ngân hàng qua các thư dạng phishing....
Theo báo cáo tình hình thư rác do Kaspersky Lab vừa công bố, tỷ lệ thư rác
trong lưu lượng truy cập thư của quý3/2014 tăng 1,7 % so với quýtrước, đạt trung
bình 66,9%. Ba nguồn phát tán thư rác hàng đầu gồm có Mỹ (14%) và Nga (6,1%)
vàViệt Nam đứng vị trí thứ 3 với 6%.
Để ngăn chặn spam, nhiều tổ chức, cá nhân đã nghiên cứu và phát triển
những kỹ thuật phân loại thư thành các nhóm; từ đó xác định, nhận biết giữa thư rác
và thư có giá trị. Tuy nhiên, những người tạo nên thư rác luôn tìm mọi cách vượt
qua các bộ phân loại này và phát tán chúng. Vì vậy, cần có một hệ thống phân loại
đâu là spam mail và đâu là mail tốt. Xuất phát từ thực trạng đó, tôi chọn hướng
nghiên cứu “Phân loại thư rác bằng phương pháp học máy” với mục đích tìm
hiểu, thử nghiệm một số phương pháp tiếp cận cho bài toán phân loại thư, từ đó
ngăn chặn thư spam hiệu quả hơn.
Nội dung của luận văn được trình bày theo 3 chương. Tổ chức cấu trúc như sau:


2
1. Chương 1 Tổng quan về học máy và thư rác: Chương này giới thiệu
tổng quát về học máy và thư rác bao gồm khái niệm, ứng dụng và
phần trình bày chi tiết về học máy có giám sát, các kỹ thuật của học
máy có giám sát dùng cho phân loại như Naïve Bayes, SVM, cây
quyết định,… Chương cũng giới thiệu khái quát về thư rác, các đặc
trưng của thư rác và biểu diễn thư rác dựa trên học máy có giám sát;
2. Chương 2 Phân loại thư rác bằng một số thuật toán có giám sát: Nội
dung chính trong chương này là đi sâu nghiên cứu hai thuật toán học
máy có giám sát là Naïve Bayes và phương pháp SVM (Support

Vector Machine).
3. Chương 3 Cài đặt, thử nghiệm và đánh giá thuật toán: Phần đầu
chương giới thiệu toán phân loại thư rác, bộ dữ liệu thử nghiệm và cài
đặt chi tiết hai thuật toán đề cập ở chương 2. Phần cuối của chương
trình bày kết quả thu được và đưa ra đánh giá về hai thuật toán được
sử dụng trong bài toán lọc thư rác.
Cuối luận văn là phần kết luận và danh sách các tài liệu tham khảo. Phần
thực nghiệm về phân loại thư rác được trình bày thêm trong phần phụ lục luận văn.


3
CHƯƠNG 1
TỔNG QUAN VỀ HỌC MÁY VÀ THƯ RÁC
1.1. Tổng quan vềhocc̣ máy
1.1.1 Trítuê n
c̣ hân tạo
Trước đây, mỗi khi nói đến Trí tuệ nhân tạo (TTNT) người ta thường quan
tâm đến việc tạo lập các máy tính có khả năng “suy nghĩ”, thậm chí trong một số
phạm vi hẹp nào đó, có thể cạnh tranh hoặc vượt quá khả năng của bộ não con
người. Những hy vọng này trong một thời gian dài đã ảnh hưởng rất nhiều đến các
nghiên cứu trong phòng thí nghiệm. Mặc dù những mô hình tương tự các máy tính
thông minh đã được đưa ra hàng nhiều năm trước, nhưng chỉ từ khi Alan Turing
công bố những kết quả nghiên cứu quan trọng đầu tiên, người ta mới bắt đầu thực
sự nghiên cứu đến các vấn đề TTNT một cách nghiêm túc. Phát hiện của Turing cho
rằng chương trình có thể được lưu trữ trong bộ nhớ để sau đó được thực hiện trên cơ
sở các phép toán cơ bản thao tác với các bit 0, 1. Điều này đã tạo nên nền tảng của
những máy tính hiện đại. Việc lưu trữ chương trình trong máy cho phép thay đổi
chức năng của nó một cách nhanh chóng và dễ dàng thông qua việc nạp một chương
trình mới vào bộ nhớ. Theo một nghĩa nào đó, khả năng này làm cho máy tính có
khả năng học và suy nghĩ. Đó cũng chính là một trong những biểu hiện quan trọng

đầu tiên của những máy tính được trang bị TTNT.
Trí tuệ nhân tạo (AI) là lĩnh vực khoa học chuyên nghiên cứu các phương
pháp chế tạo trí tuệ máy sao cho giống như trí tuệ con người. [4]
Vài định nghĩa của trí tuệ nhân tạo điển hình là:
 Hệ thống mà biết suy nghĩ như con người
 Hệ thống mà biết hành động như con người
Để hệ thống mà biết suy nghĩ và hành động như con người thì hệ thống đó
phải được trang bị các công cụ như thính giác, tri thức, lý giải tự động, việc học, thị
giác và di chuyển giống như con người. Thông thường, cách giải quyết vấn đề của
con người được thể hiện qua bốn thao tác cơ bản đó là:


4
1. Xác định tập hợp của các đích
2. Thu thập các sự kiện và luật suy diễn
3. Cơ chế tập trung
4. Bộ máy suy diễn
Như vậy, trí tuệ máy là các khả năng giải quyết vấn đề của máy, cần thỏa mãn:

1. Hành động giống như con người.
2. Suy nghĩ giống như con người.
3. Học giống như con người.
4. Xử lý thông tin giống như con người.
5. Hành động và suy nghĩ trên cơ sở logic và chính xác.
Ứng dụng của trí tuệ nhân tạo có trong nhiều ngành kinh tế :
1. Điều khiển học, Robotic, giao diện người máy thông minh
2. Trò chơi máy tính
3. Thiết bị điện tử thông minh nhờ sử dụng lôgic mờ
4. Hệ chuyên gia trong: giáo dục, y khoa, địa chất, quản lý, ...
5. Xử lý ngôn ngữ tự nhiên

6. Nhận dạng hình ảnh, âm thanh
7. Các hệ thống xử lý tri thức và dữ liệu tích hợp: cho phép xử lý đồng
thời tri thức và dữ liệu (cơ sở dữ liệu suy diễn, biểu diễn luật đối
tượng, hệ hỗ trợ quyết định)
8. Mô hình hóa các giải pháp bài toán
1.1.2. Học máy
Con người cónhiều cách hocc̣ như hocc̣ kýức, hocc̣ các sư c̣kiên,c̣.. thông qua sư c̣
quan sát vàthăm dò, hocc̣ cải thiêṇ kỹxảo thông qua thưcc̣ tiễn, hocc̣ qua sư pc̣ hát triển
của hê tc̣ hần kinh sinh hocc̣ con người, hoăcc̣ hocc̣ qua gen di truyền từ các thếhê c̣trước.


5
Dùvới cách hocc̣ nào đi nữa, mucc̣ tiêu của viêcc̣ hocc̣ chính làthu thâpc̣ tri thức mới, sau
đó xử lýtri thức này sao cho thich́ nghi đươcc̣ với các tình huống, sư c̣kiêṇ mới. Giống
với cách hocc̣ của đó, con người cũng muốn xây dưngc̣ các chương trình hocc̣ cho máy
tính sao cho máy có khảnăng thu thâpc̣ tri thức mới, từ đóxử lýtri thức để thich́ nghi
đươcc̣ với các tinhh̀ huống cu c̣ thể. Đólàlýdo taịsao kỹthuâṭhocc̣ máy đang càng ngày
càng trởthành mối quan tâm lớn của ngành khoa hocc̣ máy tinh́ hiện nay.
Hocc̣ máy làmột lĩnh vực của trí tuệ nhân taọ liên quan đến việc phát triển các
kĩ thuật cho phép các máy tính có thể "học". Hocc̣ máy được xem làphương pháp tạo
ra các chương trình máy tinh́ sử dụng kinh nghiêm,c̣ quan sát hoăcc̣ dữliêụ trong
quákhứ đểcải thiêṇ công viêcc̣ của minhh̀ trong tương lai. Chẳng han,c̣ máy tinh́
cóthểhọc cách dự đoán dựa trên các mẫu, các ví dụ, hay học cách tạo ra các hành
vi phù hợp dựa trên quan sát trong quá khứ. Xét một ví dụ là học cách đánh cờ.
Chương trinhh̀ cóthểquan sát các ván cờnhằm cải thiêṇ khảnăng chơi cờvới mucc̣ đích
tăng số ván thắng trong tương lai. Trong trường hợp này, kinh nghiêṃ được sử
duṇg để“hocc̣” cách làm tốt hơn trong công viêcc̣ chơi cờvới tiêu chíđánh giálàsố ván
thắng.
1.1.3. Các kĩ thuật học máy
Việc sử dụng những dangc̣ kinh nghiêṃ vàdạng biểu diễn khác nhau se d ̃ ẫn tới

những kĩ thuật học máy khác nhau. Tuy nhiên chủ yếu, hocc̣ máy đươcc̣ phân thành 3
loaịchinh:́
1.1.3.1. Hocc̣ cógiám sát
Với cách học này, kinh nghiệm đươcc̣ cho một cách tường minh dưới dạng đầu
vào và đầu ra của hàm đich,́ vídu c̣cho trước tâpc̣ các mẫu cùng nhañ phân loaị tương
ứng.
Hocc̣ có giám sát bao gồm phân loại và hồi quy; trong đóphân loaịlàdạng học
có giám sát với hàm đích nhâṇ giátri c̣ rời racc̣ vàhồi quy làhocc̣ cógiám sát với hàm
đích nhận giá tri c̣liên tucc̣. Sơ đồmột hê c̣ thống hocc̣ máy điển hinhh̀ trong trường hơpc̣
hocc̣ cógiám sát (phân loai)c̣ được thểhiêṇ như trên hinhh̀ sau.


6
Thí dụ mới
(chưa gán
nhãn)

Các thí dụ

Các thu t

huấn luyện
(có nhãn)

t án học máy

Hàm đích

Nhãn phân
l ại


Hình 1.1: Cấu trúc một hệ thống học máy tiêu biểu cho trường hợp phân loại
1.1.3.2. Hocc̣ không cógiám sát
Ngươcc̣ với hocc̣ có giám sát, hocc̣ không giám sát làcách hocc̣ màkinh nghiêṃ
chỉ gồm các mẫu vàkhông cónhañ hoăcc̣ giátri c̣hàm đích đi kèm. Vídu c̣chỉbằng quan
sát thông thường vềcân năngc̣ của moịngười, dần dần ta hocc̣ đươcc̣ khái niêṃ “người
béo”, “người bình thường” và“người gầy”.
Hai dạng học không giám sát phổbiến nhất làphân cuṃ và hocc̣ luâṭkết hơpc̣.
Trong trường hơpc̣ phân cụm, các đối tượng được phân chia thành môṭsốnhóm sao
cho mỗi nhóm gồm những đối tươngc̣ giống nhau và khác đối tượng ởnhóm khác.
Học luật kết hợp là cách phát hiêṇ những đối tươngc̣ hoăcc̣ giátri c̣ thuôcc̣ tinh́ thường
xuất hiện cùng nhau, ví du c̣ những măṭ hàng thường xuyên đươcc̣ mua cùng nhau
(bánh mivh̀ àsữa).
1.1.3.3. Học nửa giám sát
Học nửa giám sát là việc học có kết hợp các ví dụ có gắn nhãn và không gắn
nhãn để sinh một hàm hoặc một bộ phân loại thích hợp.
1.1.3.4. Hocc̣ tăng cường
Đối với dangc̣ hocc̣ này, kinh nghiêṃ không đươcc̣ cho trưcc̣ tiếp dưới dangc̣ đầu
vào/ đầu ra. Thay vào đó, hê c̣ thống nhâṇ đươcc̣ một giátri c̣ tăng cường làkết quả cho
một chuỗi hành động nào đó. Thuâṭtoán cần hocc̣ cách hành đôṇg đểcưcc̣ đaịhóa giá tri
c̣tăng cường. Vídu c̣của hocc̣ tăng cường là hocc̣ đánh cờ, trong đóhệ thống không được
chỉ dẫn nước đi nào là hơpc̣ lýcho từng tình huống màchỉbiết kết quảtoàn ván cờ. Như
vây,c̣ các chỉ dẫn về nước đi đươcc̣ học một cách gián tiếp vàcóđô c̣trễdưới dangc̣ giátri
c̣thưởng.


7
1.1.4. Một số ứng dụng của học máy
Học máy có ứng dụng rộng khắp trong các ngành khoa học/sản xuất, đặc biệt
những ngành cần phân tích khối lượng dữ liệu khổng lồ. Cụ thể một số ứng dụng

thường thấy như:
1. Xử lý ngôn ngữ tự nhiên: xử lý văn bản, giao tiếp người – máy, …
2. Nhận dạng : nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy () …
3. Tìm kiếm
4. Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩn
đoán tự động.
5. Locc̣ thư rác, phân loaịvăn bản: Làdựa trên nôịdung thư điêṇ tử, chia
thư thành loại “thư rác (thư không cógiátri)c̣” hay “thư binhh̀ thường
(thư có giá tri)c̣”; hoăcc̣ phân chia tin tức thành các thểloaịkhác nhau
như “xa h ̃ ôị”, “kinh tế”, “thểthao”,…
6. Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein
7. Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt …
8. Phát hiện gian lận tài chính : gian lận thẻ tỉn dụng
9. Dự đoán chỉsốthị trường: Là căn cứ giátri c̣ môṭvài tham sốhiêṇ thời
hoăcc̣ trong quákhứ đểđưa ra dư c̣ đoán, chẳng haṇ dư c̣ đoán giáchứng
khoán, giávàng,…
Ngoài những ứng dụng có dangc̣ phân loại hoăcc̣ hồi quy môṭcách tường minh
ở trên, học máy cóthểdùng trong rất nhiều ứng dungc̣ đòi hỏi ra quyết định hoăcc̣ hành
đôngc̣ một cách thông minh.
1.1.5. Học có giám sát
1.1.5.1. Việc học
Học có giám sát là một kỹ thuật của ngành học máy để xây dựng một hàm từ
dữ liệu huấn luyện. Dữ liệu huấn luyện bao gồm các cặp đối tượng đầu vào (thường
dạng vec tơ) và đầu ra thực sự. Đầu ra của một hàm có thể là một giá trị liên tục


8
(gọi là hồi quy), hay có thể là dự đoán một nhãn phân lớp cho một đối tượng đầu
vào (gọi là phân lớp). Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị
của hàm cho một đối tượng bất kỳ là đầu vào hợp lệ, sau khi đã xem xét một số ví

dụ huấn luyện (nghĩa là, các cặp đầu vào và đầu ra tương ứng). Để đạt được điều
này, chương trình học phải tổng quát hoá từ các dữ liệu sẵn có để dự đoán những
tình huống chưa gặp phải theo một cách hợp lý. Các ví dụ thường gặp của học có
giám sát gồm việc phân loại các e-mail là thư rác, ghi nhãn các trang Web theo thể
loại của chúng và nhận dạng chữ viết tay.
Tóm lại mục đích chính của bài toán học có giám sát là để học một ánh xạ từ
x tới y. Khi cho trước một tập huấn luyện gồm các cặp ( xi, yi ), trong đó yi ∈ Y gọi
là các nhãn của các mẫu xi. Nếu nhãn là các số, y = ( y ) i∈[n] biểu diễn vec tơ cột của
T
i

các nhãn. Hơn nữa, một thủ tục chuẩn là các cặp ( x i, yi ) được thử theo giả thiết
phân bố ngẫu nhiên độc lập trên khắp X × Y.
Mô hình chung của học có giám sát được khái quát như hình sau.

Hình 1.2. Mô hình thuật toán học có giám sát
Để giải quyết một bài toán nào đó của học có giám sát, người ta phải xem xét
nhiều bước khác nhau:
1.

Xác định loại của các ví dụ huấn luyện. Trước khi làm bất cứ điều gì,
người làm nhiệm vụ phân lớp nên quyết định loại dữ liệu nào sẽ được
sử dụng làm ví dụ. Chẳng hạn đó có thể là một kí tự viết tay đơn lẻ,
toàn tập một từ viết tay, hay toàn tập một dòng chữ viết tay.


9
2. Thu thập tập huấn luyện. Tập huấn luyện cần đặc trưng cho thực tế sử
dụng của hàm chức năng. Vì thế, một tập các đối tượng đầu vào được
thu thập và đầu ra tương ứng được thu thập, hoặc từ các chuyên gia

hoặc từ việc đo dạc tính toán.
3. Xác định việc biểu diễn các đặc trưng đầu vào cho hàm chức năng cần
tìm. Sự chính xác của hàm chức năng phụ thuộc lớn vào cách các đối
tượng đầu vào được biểu diễn. Thông thường, đối tượng đầu vào được
chuyển đổi thành một vec tơ đặc trưng, chứa một số các đặc trưng
nhằm mô tả cho đối tượng đó. Số lượng các đặc trưng không nên quá
lớn.
4. Xác định cấu trúc của hàm chức năng cần tìm và giải thuật học tương
ứng. Ví dụ người thực hiện quá trình phân lớp có thể lựa chọn việc sử
dụng mạng nơ-ron nhân tạo hay cây quyết định….
5. Hoàn thiện thiết kế. Người thiết kế sẽ chạy giải thuật học từ một tập
huấn luyện thu thập được. Các tham số của giải thuật học có thể được
điều chỉnh bằng cách tối ưu hoá hiệu năng trên một tập con (gọi là tập
kiểm chứng – validation set) của tập huấn luyện, hay thông qua kiểm
chứng chéo (cross-validation). Sau khi học và điều chỉnh tham số,
hiệu năng của giải thuật có thể được đo đạc trên một tập kiểm tra độc
lập với tập huấn luyện.
Hiện nay đã có rất nhiều thuật toán được sử dụng để tạo những trình học có
giám sát, phổ biến nhất là:
 Thuật toán K láng giềng gần nhất (KNN)
 Mô hình xác suất đơn giản, Naïve Bayes
 Phương pháp dùng máy vec tơ tựa SVM.
 Phương pháp cây quyết định
 Phương pháp mạng nơ ron nhân tạo.


10
1.1.5.2. Thuật toán K láng giềng gần nhất
KNN là phương pháp truyền thống khá nổi tiếng và được đánh giá là một
trong những phương pháp tố, theo tập dữ liệu Reuters phiên bản 21450, được sử

dụng từ những thời kỳ đầu của việc phân loại văn bản.
Khi cần phân loại một văn bản mới, thuật toán sẽ tính khoảng cách (khoảng
cách Ơclit… của tất cả các văn bản trong tập huấn luyện đến văn bản này đề tìm ra
k văn bản gần nhất (gọi là k “láng giềng", hay "hàng xóm”), sau đó dựa trên khoảng
cách này tính trọng số cho tất cả chủ đề. Trọng số của một chủ đề chính là tổng tất
cả khoảng cách ở trên của các văn bản trong k hàng xóm có cùng chủ đề, chủ đề nào
không xuất hiện trong k hàng xóm sẽ có trọng số bằng 0. Sau đó các chủ đề sẽ được
sắp xếp theo mức độ trọng số giảm dần và các chủ đề có trọng số cao sẽ được chọn
là chủ đề của văn bản cần phân loại.
Công thức tính trọng số cho các cụm:

W(x, cj) =

∑ sim( x, d i ). y ( d i , c j ) −bj

(1.1)

di ∈{KNN}

Trong đó:
 y(di , cj) = 1 nếu câu hỏi di thuộc cụm cj; ngược lại y(di , cj) = 0.
 sim (x, di) là độ tương đồng giữa câu hỏi phân loại x và câu hỏi di.
x.di

 sim (x, di) = cos (x, di) =
(1.2)

x d
i


 bj là ngưỡng phân loại của nhãn cj.
1.1.5.3. Mô hình xác suất Naïve Bayes
Kĩ thuật phân hoạch của Naive Bayes dựa trên cơ sở định lí Bayes và đặc
biệt phù hợp cho các trường hợp phân loại có kích thước đầu vào là lớn. Mặc dù
Naive Bayes khá đơn giản nhưng nó có khả năng phân loại tốt hơn rất nhiều phương
pháp phân hoạch phức tạp khác. Với mỗi loại văn bản, thuật toán Naive Bayes tính


11
cho mỗi lớp văn bản một xác suất mà tài liệu cần phân hoạch có thể thuộc loại đó.
Tài liệu đó sẽ được gán cho lớp văn bản nào có xác suất cao nhất. Chi tiết về thuật
toán Naive Bayes sẽ được trình bày kĩ ở chương 2.
1.1.5.4. Phương pháp cây quyết định
Cây quyết định là một trong những kĩ thuật học máy được nhiều người biết
đến. Chúng được áp dụng rộng rãi và đa dạng của các lĩnh vực đặc biệt là các ứng
dụng trong trí tuệ nhân tạo. Thành công của phương pháp này được chứng minh
bằng khả năng xử lí các vấn đề phức tạp theo cách trình bày một khả năng có thể
chấp nhận được dễ dàng cho việc diễn dịch và thậm chí còn có khả năng đưa ra các
kết luận từ các luật logic.
Một số phương pháp đã được đề xuất để xây dựng các cây quyết định.
Những thuật toán này có đầu vào là một tập các tài liệu mẫu được đưa vào làm ví
dụ. Ở đó mỗi tài liệu đựơc mô tả bởi việc thiết lập các giá trị thuộc tính và được gán
cho các lớp. Đầu ra là một cây quyết định bảo đảm sự phân hoạch cho các ví dụ đưa
vào. Vấn đề chính được nói rõ trong các thuật toán chuẩn của cây quyết định là kết
quả có thể thay đổi bất chợt tùy thuộc vào dữ liệu. Sự không chắc chắn đó có thể
xuất hiện trong các cấu tử hoặc có thể xuất hiện trong các giai đoạn phân hoạch.
Cây quyết định được sử dụng để phân hoạch các đối tượng mới. Thuật giải trong
cây quyết định được bắt đầu từ gốc của cây quyết định.
Người ta đánh giá thử những thuộc tính có liên quan và chọn một nhánh
tương ứng với sự lựa chọn đó. Qui trình này sẽ được lặp đi lặp lại đến khi gặp phải

một lá. Như vậy đối tượng mà ta đang xét sẽ thuộc vào loại của lá mà ta vừa gặp
phải. Điều đó cũng có nghĩa là thuật toán cây quyết định kết thúc khi mà quá trình
phân tích gặp được một nút lá.
1.1.5.5. Phương pháp mạng nơ ron
Phân loại văn bản bằng mô hình mạng nơ ron là một cách thức phân loại mới
được đề xuất. Cấu trúc và hoạt động của mạng nơ ron cơ bản dựa trên bộ não con
người. Mạng nơ ron được áp dụng trong khá nhiều lĩnh vực khác nhau và có khả


12
năng giải quyết các vấn đề phức tạp, phạm vi rộng. Trong phân loại tài liệu có thể
dùng mạng nơ ron để phân chia gần đúng các tài liệu trong tập tài liệu thô đầu vào.
Cấu trúc mạng nơ ron khá phức tạp, hầu hết các phần tử cấu thành mạng nơ
ron là các nơ ron. Chúng được phân chia thành các lớp khác nhau và có mối liên hệ
với các nơ ron trong cùng lớp hoặc khác lớp. Mối quan hệ giữa các nơ ron được
biểu diễn bằng các cung tròn có đầu ra từ một nơ ron này và đầu vào từ một nơ ron
khác, mối quan hệ giữa hai nơ ron lân cận nhau đặc trưng bằng trọng số w.
1.2. Tổng quan về thư rác
1.2.1. Định nghĩa về thư rác và các đặc trưng của thư rác
1.2.1.1. Định nghĩa về thư rác
Từ lâu, thư điện tử đã trở thành một ứng dụng không thể thiếu khi Internet và
công nghệ mạng phát triển. Thư điêṇ tử, hay còn gọi là thư, làmôṭhê c̣thống chuyển
nhâṇ thư từ qua các mạng máy tính. Thư điện tử là môṭphương tiện truyền thông rất
hữu ích. Nócóthể chuyển mẫu thông tin từ môṭmáy nguồn tới môṭhay nhiều máy
nhâṇ trong cùng môṭlúc.
Tuy nhiên, trong những năm gần đây, một hình thức mới của thư điện tử đã
xuất hiện với số lượng lớn gây phiền hà cho người nhận và thiệt hại không nhỏ cho
nền kinh tế mà ta gọi là thư rác hay spam emails.
Hiện nay chưa có một định nghĩa hoàn chỉnh và chặt chẽ về thư rác. Có quan
điểm chỉ coi thư rác là những thư quảng cáo không được yêu cầu UCE, có quan

điểm có thư rác với nghĩa rộng hơn, bao gồm cả thư quảng cáo, thư nhũng lạm
(quấy rối), và những thư có nội dung không lành mạnh UBE. Dưới đây sẽ đưa ra
một định nghĩa thông dụng nhất về thư rác và giải thích các đặc điểm của nó để
phân biệt thư rác với thư thông thường.
Thư rác (spam) là những bức thư điện tử không yêu cầu, không mong muốn
và được gửi hàng loạt tới nhiều người nhận. “Thư không yêu cầu” ở đây nghĩa là
người nhận thư không yêu cầu người gửi gửi bức thư đó. “Thư được gửi hàng loạt”


13
nghĩa là bức thư mà người nhận nhận được nằm trong một loạt các thư được gửi đi
cho nhiều người khác và các bức thư này có nội dung tương tự nhau.
Một bức thư được gọi là thư rác chỉ khi nó là thư không yêu cầu và được gửi
hàng loạt. Nếu thư rác chỉ là thư không mong muốn thì nó có thể là những bức thư
làm quen, được gửi lần đầu tiên, còn nến thư rác chỉ là thư được gửi hàng loạt thì nó
có thể là những bức thư gửi cho khách hành của các công ty, các nhà cung cấp dịch
vụ.
Như định nghĩa ở trên, thư rác là thư không yêu cầu và được gửi hàng loạt.
Nhưng yếu tố quan trọng nhất để phân biệt thư rác với thư thông thường phải là ở
nội dung bức thư. Khi một người nhận được thư rác, người đó không thể xác định
được thư có được gửi hàng loạt hay không nhưng có thể nói chính xác đó là thư rác
sau khi xem nội dung thư. Đặc điểm này chính là cơ sở cho giải pháp phân loại thư
rác bằng cách phân tích nội dung thư.
1.2.1.2. Các đặc trưng của thư rác
Các loại thư rác hiện này có một số đặc điểm sau:
1. Thư rác được gửi đi một cách tự động: Mục đích của những kẻ gửi thư
rác là có thể phát tán lượng thư rác tới người dùng càng nhiều càng
tốt. Do vậy, chúng thường viết ra những phần mềm tự động gửi một
lượng lớn thư rác trong một khoảng thời gian ngắn.
2. Thư rác được gửi đến những địa chỉ ngẫu nhiên trên một diện rộng:

Địa chỉ thư điện tử của người bị nhận thư rác rất ngẫu nhiên và hầu
như không có sự ràng buộc với nhau. Có nhiều phương pháp và thủ
thuật khác nhau mà những kẻ gửi thư rác áp dụng trong việc dò tìm
địa chỉ thư của người dùng như:
3. Dùng chương trình tự động dò tìm địa chỉ thư trên mạng Internet, các
trang chủ, Chat room,…
4. Mua địa chỉ thư từ những công ty đã xây dựng danh sách khách hàng
của họ nhưng vì lý do nào đó phải bán đi hoặc đối tác của công ty


14
được phép truy cập dánh sách khách hàng của công ty này để gửi
thông tin về dịch vụ hay sản phẩm.
5. Thư chuỗi từ bạn bè và người thân, yêu cầu gửi thư cho càng nhiều
người càng tốt vì lý do giúp đỡ người bị bệnh, ủng hộ một chương
trình nào đó, hoặc mời chào người dùng nếu không muốn nhận xui
xẻo hoặc muốn nhận được nhiều tiền hơn….
6. Dùng chương trình đoán tên tự động: Những kẻ gửi thư rác dùng
chương trình này gửi thư liên tục vào một nơi để đoán địa chỉ thư qua
những phương pháp như E – pending, Alphabet,…
7. Bên cạnh đó, những kẻ gửi thư rác còn có thể có được địa chỉ thư của
người dùng do các nhà cung cấp dịch vụ ISP không có chính sách và
công nghệ bảo mật, dẫn đến các tin tặc, ăn cắp địa chỉ của khách hàng
để buôn bán và quấy nhiễu. Hoặc có thể do chính nhà cung cấp ISP
buôn bán địa chỉ thư của khách hàng để kiếm lợi nhuận. Nhân viên
của các ISP đã tiết lộ thông tin về khách hàng cho các đối thủ cạnh
tranh của chính ISP đó hoặc cho những công ty muốn quảng cáo cho
những khách hàng riêng biệt.
Nội dung của thư rác thường là những nội dung bất hợp pháp, gây phiền hà
cho người dùng: Phần lớn nội dung của thư rác là những thông tin mời chào về

thương mại, quảng cáo sản phẩm. Bên cạnh đó, phải kể đến những thư rác có nội
dung xấu (như chống phá chính trị,…) gây tâm lý lo ngại cho ngưòi sử dụng. Lượng
thư rác phát tán virus cũng không nhỏ. Trong những thư này thường kèm những con
virus nguy hiểm có thể làm tê liệt hoàn toàn máy tính của người dùng, ăn cắp những
thông tin cá nhân hoặc làm hỏng dữ liệu lưu trên máy. Hiện nay, những thư rác với
nội dung hứa hẹn mang đến may mắn, hoặc một khoản tiền lớn cho người đọc thư
rác cũng ra tăng đáng kể. Những người dùng kém hiểu biết, cả tin thường bị lừa với
hình thức này.
Địa chỉ của người gửi thư rác thường là những địa chỉ trá hình: Để tránh sự
nghi ngờ của người nhận, một số kẻ gửi thư rác thường giả dạng địa chỉ của một


15
người dùng bình thường trong một máy chỉ thư nào đó một cách bất hợp pháp hoặc
dùng một địa chỉ ảo nào đó để gửi thư rác.
1.2.2. Phân loại thư rác
Việc phân loại thư rác rất quan trọng không chỉ trong lĩnh vực tạo những bộ
lọc thư rác phù hợp cho hiệu quả cao mà còn giúp cho việc ban hành các bộ luật
chống thư rác thích hợp. Có rất nhiều cách phân loại thư rác. Dưới đây là một số
loại điển hình nhất.
1. Dựa trên kiểu phát tán thư rác: Tính tới thời điểm hiện tại, thư rác có
thể được gửi thông qua hình thức thư điện tử, nhóm thảo luận
(newsgroups), điện thoại di động SMS, và các dịch vụ gửi tin nhắn
trên mạng (như Yahoo Messenger, Windows Messenger…).
2. Dựa vào quan hệ với người gửi thư rác: Các mối quan hệ với người
gửi thư rác bao gồm người lạ mặt, bạn bè, người quen và các dịch vụ
quyên góp giúp đỡ…
3. Dựa vào nội dung của thư rác: Các kiểu nội dung phổ biến như thư về
thương mại, thư về chính trị, thư về công nghệ, chuỗi thư (chain
email) và các loại khác (như thư phát tán virus...).

4. Dựa trên động lực của người gửi: Thông thường, thư rác được gửi đi
cho những mục đích quảng bá thông tin. Ngoài ra, còn có một số loại
thư rác được gửi tới một người nhận xác định nào đó nhằm mục đích
phá vỡ và gây cản trở công việc của người nhận hay mạng của nhà
cung cấp dịch vụ thư điện tử ESP, được gọi là “bom thư”. Thư rác còn
được cố ý gửi đi nhằm thông báo tin sai lệch, làm xáo trộn công việc
và cuộc sống của người nhận.
1.2.3. Đặc điểm thư rác
Đặc tính chung củathư rác là không ràng buộc về mặt nội dung. Phần lớn các
thư rác tuân theo các mẫu chung và có thể được nhận diện một cách rõ ràng. Ngoài


16
ra, các thư rác có các đặc điểm về ngôn ngữ, thời gian.... Hầu hết cácthư rác này
đều được viết bằng tiếng Anh với tỉ lệ rất cao hơn 80%.
Đặc điểm chính củathư rác khác biệt với thư thông thường đó là
 Không ai yêu cầu.
 Người nhận không quan tâm đến thông tin trong thư mình nhận
được.
 Không rõ người gửi. Người nhận không biết, không có bất cứ
liên hệ nào với người gửi.
 Thư này được gửi đến một số lượng lớn các địa chỉ. Thể loại
thư rác rất đa dạng phần lớn tập trung vào quảng cáo, lừa đảo,
phần mềm giá rẻ, nội dung không lành mạnh....
1.2.4. Tác hại của thư rác
Thư rác hiện chiếm một tỷ lệ rất lớn trong tổng số thư điện tử được gửi qua
Internet. Theo các thống kê khác nhau, thư rác chiếm từ 71% đến 87% lượng thư
gửi qua các máy chủ thư điện tử. Lượng thư rác quá lớn gây ra nhiều tác hại đố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. Có thể kể ra
một số tác hại của thư rác:

 Thư rác gây thiệt hại về kinh tế cho người nhận thư trong trường
hợp người nhận thư phải trả tiền cho lượng thông tin truyền qua
mạng.
 Thư rác có thể làm đầy hộp thư người nhận và do vậy làm thất lạc
những thư bình thường đến sau.
 Thư rác làm tốn thời gian do người nhận phải mở thư và xoá thư
khỏi hộp thư của mình.
 Thư rác gây tâm lý xấu đối với người sử dụng thư điện tử. Theo
thống kê tại , 25% người sử dụng thư
điện tử coi thư rác là trở ngại lớn khi sử dụng dịch vụ Internet này.


17
 Thư rác chiếm một phần đường truyền Internet và làm tốn thời
gian xử lý của máy chủ.
1.2.5. Quy trình và thủ đoạn gửi thư rác
Để phát tán thư rác, những người gửi thư rác phải có được những điều kiện
sau: một là có danh sách địa chỉ thư nhận thư, hai là có các server cho phép gửi thư,
ba là phải soạn được nội dung thư theo yêu cầu quảng cáo và qua mặt được các bộ
lọc nội dung, cuối cùng cần có những chương trình để gửi thư đi.
1.2.5.1. Thu thập địa chỉ thư
Để gửi thư rác đi, người gửi thư rác cần phải có một danh sách các địa chỉ
thư cần gửi. Danh sách địa chỉ thư này có thể thu thập được từ nhiều nguồn khác
nhau, họ có thể mua từ các trang web thương mại có nhiều thành viên đăng ký hoặc
sử dụng các kỹ thuật như trong ví dụ 1.3 để có được địa chỉ thư của đối tượng cần
gửi thư.
Người gửi thư rác (hoặc đối tác của họ) thường tung ra các trang web giả để
bẫy người dùng gửi địa chỉ thư cho họ. Kỹ thuật này được gọi là Phishing email.

Hình 1.3. Ví dụ về trang web lấy cắp địa chỉ thư của người dùng



×