Tải bản đầy đủ (.pdf) (106 trang)

Tài liệu Luận văn: thiết kế hệ thống, hệ thống quản lý doc

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 MB, 106 trang )


1
A萎I H窺C QU渦C GIA TP. H唄 CHÍ MINH
TR姶云NG A萎I H窺C KHOA H窺C T衛 NHIÊN
KHOA CÔNG NGH烏 THÔNG TIN
D浦 MÔN H烏 TH渦NG THÔNG TIN
LÊ NGUYN BÁ DUY –TRN MINH TRÍ
TÌM HI韻U CÁC H姶閏NG TI蔭P C一N PHÂN LO萎I
EMAIL VÀ XÂY D衛NG PH井N M陰M MAIL CLIENT
J姥 TR営 TI蔭NG VI烏T
KHOÁ LU一N C盈 NHÂN TIN H窺C
TP. HCM, N;M 2005

2
A萎I H窺C QU渦C GIA TP. H唄 CHÍ MINH
TR姶云NG A萎I H窺C KHOA H窺C T衛 NHIÊN
KHOA CÔNG NGH烏 THÔNG TIN
D浦 MÔN H烏 TH渦NG THÔNG TIN
LÊ NGUY右N BÁ DUY -0112050
TR井N MINH TRÍ -0112330
TÌM HI韻U CÁC H姶閏NG TI蔭P C一N PHÂN LO萎I
EMAIL VÀ XÂY D衛NG PH井N M陰M MAIL CLIENT
J姥 TR営 TI蔭NG VI烏T
KHOÁ LU一N C盈 NHÂN TIN H窺C
GIÁO VIÊN H姶閏NG D郁N
TH井Y LÊ A永C DUY NHÂN
NI ÊN KHÓA 2001-2005

3
N云I C謂M 愛N
Trc tiên, chúng tôi xin chân thành cm n thy Lê c Duy Nhân, ngi


ã hng dn chúng tôi thc hin  tài này. Nh có s hng dn, ch bo tn tình
ca thy, chúng tôi ã hoàn thành khoá lun này.
Chúng con xin kính gi lòng bit n, kính trng ca chúng con n ông bà,
cha m và các ngi thân trong gia ình ã ht lòng nuôi chúng con n hc, luôn
luôn  bên chúng con,ng viên giúp  chúng con vt qua khó khn
Chúng em xin cm n tt c các thy cô trng i hc Khoa Hc T Nhiên,
c bit là các thy cô trong khoa Công Ngh Thông Tin ã ht lòng ging dy,
truyn t nhiu kin thc và kinh nghim quý báu cho chúng em. Chúng em cng
xin chân thành cm n khoa Công Ngh Thông Tin, b môn H Thng Thông Tin
ã to mi u kin thun li trong quá trình thc hin khoá lun ca chúng em.
Chúng tôi xin chân thành cm n bn bè trong lp cng nh các anh chi
trc ã giúp , óng góp ý kin cho chúng tôi.
Vi thi gian nghiên cu ngn, trong vòng 6 tháng và nng lc ca nhng
ngi làm  tài, chc chn  tài còn có nhiu thiu sót. Chúng tôi rt mong nhn
c nhng góp ý, nhn xét  tài c hoàn thin hn.
Thành ph H Chí Minh
Tháng 7 nm 2005
Nhng ngi thc hin:
Lê Nguyn Bá Duy – Trn Minh Trí.

4
v Mc lc:
Ch逢挨ng 1 : M雲"A井U 9
1.1 Gii thiu: 10
1. 2 Yêu c u bài t oán: 12
1.3 B cc khoá lun : 12
Ch逢挨ng 2 : T蔚NG QUAN 14
2.1 Các cách thc con ngi x lý vi spam : 15
2.2 Các phng pháp tip cn: 16
2.2.1 Complaining to Spammers' ISPs : 16

2. 2.2 Ma il Bl ackl i sts /Whit el ists: 16
2.2.3 Mail volume : 18
2. 2.4 Sign ature/ Checksum schemes: . 19
2.2.5 Genetic Algorithms: 20
2.2.6 Ru le-Based (hay là Heuristic): 21
2.2.7 Challenge-Response: 22
2.2.8 Machine Learning ( Máy hc ): 23
2.3 Phng pháp la chn : 24
2.4 Các ch sánh giá hiu qu phân loi email : 24
2.4.1 Spam Recall và Spam Precision: 24
2.4.2 T l li Err (Error) và t l chính xác Acc(Accuracy) : 25
2.4.3 T l li gia trng WErr (Weighted Error ) và t l chính xác gia trng (Weighted
Accuracy): 25
2.4.4 T s chi phí tng hp TCR (Total Cost Ratio ): 26
Ch逢挨ng 3 : GI閏I THI烏U CÁC KHO NG頴 LI烏U DÙNG KI韻M TH盈
PHÂN LO萎I EMAIL 28
3.1 Kho ng liu PU (corpus PU ): 29
3.1.1 Vài nét v kho ng liu PU: 29
3.1.2 Mô t cu trúc kho ng liu PU: 30
3.2 Kho ng liu email ch: 31
Ch逢挨ng 4 : PH姶愛NG PHÁP PHÂN LO萎I NAÏVE BAYESIAN VÀ 永NG
D影NG PHÂN LO萎I EMAIL 33
4.1 Mt vài khái nim xác sut có liên quan 34
4.1.1 nh ngha bin c, xác sut : 34
4.1.2 Xác sut có u kin, công thc xác sut y  – công thc xác sut Bayes35
4.2 Phng pháp phân loi Naïve Bayesian : 36
4.3 Phân loi email bng phng pháp Naïve Bayesian : 37
4.3.1 Phân loi email da trên thut toán Naïve Bayesian 38
4.3.2 Chn ngng phân loi email : 39
Ch逢挨ng 5 : TH衛C HI烏N VÀ KI韻M TH盈 PHÂN LO萎I EMAIL D衛A

TRÊN PH姶愛NG PHÁP PHÂN LO萎I NAÏVE BAYESIAN 41
5.1 Cài t chng trình phân loi email da trên phng pháp phân loi Naïve
Bayesian: 42
5.1.1 Khái nim “Token” : 42
5.1.2 Vector thuc tính : 42
5.1.3 Chn ngng phân loi : 43
5.1.4 Cách thc hin :. 43

5
5.2 Th nghim hiu qu phân loi 51
5.2.1 Th nghim vi kho ng liu pu: 51
5.2.2 Th nghim vi kho ng liu email ch : 60
5.3 u – nhc m ca phng pháp phân loi Naïve Bayesian: 61
5.3.1 u m : 61
5.3.2 Khuyt m : 62
Ch逢挨ng 6 : PH姶愛NG PHÁP ADABOOST VÀ 永NG D影NG PHÂN LO萎I
EMAIL 63
6.1 Thut toán AdaBoost : 64
6.2 AdaBoost trong phân loi vn bn nhiu lp : 65
Thut toán AdaBoost MH phân loi vn bn nhiu lp : 66
6.3 ng dng AdaBoost trong phân loi email: 66
6.3.1 Thut toán AdaBoost.MH trong trung hp phân loi nh phân 67
Gii hn li hun luyn sai : 68
6.3.2 Phng pháp la chn lut yu : 70
Ch逢挨ng 7 : TH衛C HI烏N VÀ KI韻M TH盈 PHÂN LO萎I EMAIL D衛A
TRÊN PH姶愛NG PHÁP ADABOOST 73
7.1 Cài t b phân loi email da trên phng pháp AdaBoost: 74
7.1.1 Tp hun luyn mu và tp nhãn : 74
7.1.2 Xây dng tp lut yu ban u : 75
7.1.3 Th tc WeakLearner chn lut yu: 76

7.1.4 Phân loi email : 76
7.2 Th nghim hiu qu phân loi : 76
7.2.1 Th nghim vi kho ng liu pu: 76
7.2.2 Th nghim vi kho ng liu email ch: 79
7.3 u – nhc m ca phng pháp phân loi AdaBoost: 80
7.3.1 u m : 80
7.3.2 Khuyt m : 80
Ch逢挨ng 8 : XÂY D衛NG CH姶愛NG TRÌNH MAIL CLIENT TI蔭NG VI烏T
H姥 TR営 PHÂN LO萎I EMAIL 82
8.1 Chc nng: 83
8.2 Xây dng b lc email spam : 83
8.3 T chc d liu cho chng trình : 84
8.4 Giao d in ngi dùng : 85
8.4.1 S màn hình : 85
8.4.2 Mt s màn hình chính : 85
Ch逢挨ng 9 : T蔚NG K蔭T VÀ H姶閏NG PHÁT TRI韻N 94
9.1 Các vic ã thc hin c : 95
9.2 Hng ci tin, m rng : 95
9.2.1 V phân loi và lc email spam: 95
9.2.2 V chng trình Mail Client: 96
TÀI LI烏U THAM KH謂O 97
Ting Vit : 97
Ting Anh : 97
Ph映 l映c 99

6
Ph映 l映c 1 : K院t qu違 th穎 nghi羽m phân lo衣i email b茨ng ph逢挨ng pháp Bayesian
v噂i kho ng英 li羽u h丑c và ki吋m th穎 pu 99
Ph映 l映c 2 : K院t qu違 th穎 nghi羽m phân lo衣i email b茨ng ph逢挨ng pháp
AdaBoost v噂i kho ng英 li羽u h丑c và ki吋m th穎 pu 103

1. K院t qu違 th詠c hi羽n v噂i thu壱t toán AdaBoost with real value predictions
103
2. K院t qu違 th詠c hi羽n v噂i thu壱t toán AdaBoost with discrete predictions 105

7
Danh mc các hình v:
Hình 3-1Email sau khi tách token và mã hoá (trong kho ng liu pu) 29
Hình 5-1Mô t cu trúc bng bm 48
Hình 5-2 Lc  so sánh các ch s spam recall (SR) và spam precision (SP) theo
s token th nghim trên kho ng liu PU1 vi công thc 5-7 (
9
λ=
) 53
Hình 5-3 Lc  ch s TCR theo s token th nghim trên kho ng liu PU1 vi
công thc 5-7 (
9
λ=
) 53
Hình 5-4 Lc  so sánh các ch s spam recall (SR) và spam precision (SP) theo
s token th nghim trên kho ng liu PU2 vi công thc 5-5 (
9
λ=
) 55
Hình 5-5 Lc  ch s TCR theo s token th nghim trên kho ng liu PU2
vi công thc 5-5 (
9
λ=
) 55
Hình 5-6 Lc  so sánh các ch s spam recall (SR) và spam precision (SP) theo
s token th nghim trên kho ng liu PU3 vi công thc 5-6 (

9
λ=
) 57
Hình 5-7 Lc  ch s TCR theo s token th nghim trên kho ng liu PU3 vi
công thc 5-6 (
9
λ=
) 57
Hình 5-8 Lc  so sánh các ch s spam recall (SR) và spam precision (SP) theo
s token th nghim trên kho ng liu PUA vi công thc 5-5 (
9
λ=
) 59
Hình 5-9 Lc  ch s TCR theo s token th nghim trên kho ng liu PUA
vi công thc 5-5 (
9
λ=
) 59

8
Danh mc các bng:
Bng 3-1Mô t cu trúc kho ng liu PU 31
Bng 5-1 Kt qu kim th phân lai email bng phng pháp phân lai Naïve
Bayesian trên kho ng liu PU1 52
Bng 5-2 Kt qu kim th phân lai email bng phng pháp phân lai Naïve
Bayesian trên kho ng liu PU2 54
Bng 5-3 Kt qu kim th phân lai email bng phng pháp phân lai Naïve
Bayesian trên kho ng liu PU3 56
Bng 5-4 Kt qu kim th phân lai email bng phng pháp phân lai Naïve
Bayesian trên kho ng liu PUA 58

Bng 5-5 Kt qu kim th phân lai email bng phng pháp phân lai Bayesian
trên kho ng liu email ch 61
Bng 7-1 Kt qu th nghim phân loi email vi ng liu s PU bng thut toán
AdaBoost with real -value predictions 77
Bng 7-2 Kt qu th nghim phân loi email vi ng liu s PU bng thut toán
AdaBoost with discrete predictions 77
Bng 7-3 kt qu th nghim phân loi email vi ng liu email ch bng thut
toán AdaBoost with real-value predictions 79
Bng 7-4 Kt qu th nghim phân loi email vi ng liu email ch bng thut
toán AdaBoost with discrete predictions 80

9
Ch逢挨ng 1 : M雲"A井U

10
1.1 Gi噂i thi羽u:
Thi i ngày nay là thi i bùng n thông tin, Internet ã tr nên quen
thuc và không th thiu i vi mi quc gia và xã hi. Liên lc qua Internet ã tr
nên ph bin, và email là mt phng tin liên lc có chi phí thp, nhanh chóng và
hiu qu nht trên Internet. Hng ngày mi ngi s dng email u nhn c mt
ng ln email, tuy nhiên không phi tt c các email mà ta nhn c u cha
thông tin mà ta quan tâm. Nhng email mà ta không mun nhn y là email Spam.
Ngc li, nhng email không phi là spam gi là non-spam – email hp lc
ngidùng chp nhn.
Spam chính là nhng email c phát tán mt cách rng rãi không theo bt
c mt yêu cu nào ca ngi nhn vi s lng ln (unsolicited bulk email
(UBE)), hay nhng email qung cáo c gi mà không có yêu cu ca ngi nhn
(unsolicited commercial email (UCE)) [1].
Nhiu ngi trong chúng ta ngh rng spam là mt vn  mi, nhng thc
ra nó ã xut hin khá lâu – ít nht là t nm 1975. Vào lúc khi thy, ngi dùng

hu ht là các chuyên gia v máy tính, h có th gi hàng tá thm chí hàng trm
email n các nhóm tin (newsgroup) và spam hu nh ch liên quan n các email
gi n các nhóm tin Usenet, gây ra tình trng không th kim soát c các email
nhn. Sau ó các bin pháp trng tr v mt xã hi và hành chính ã có tác dng,
th phm ã b trng pht , công khai hay bí mt, nhng ngi này nhanh chóng
c a vào mt danh sách, và mt k thut lc spam sm nht xut hin ó là
”bad sender” – lc email ca nhng ngi gi c xem là xu.
WWW(World-Wide Web) ã mang th gii Internet n nhiu ngi, và h
qu ca nó là nhiu ngi không phi là chuyên gia trong th gii máy tính cng
c tip xúc nhiu vi Internet, nó cho phép truy cp n nhng thông tin và dch
v mà trc ây là không c phép. Ch trong vòng 2-3 nm chúng ta ã chng
kin s bùng n s ngi s dng Internet và tt nhiên là nhng c hi qung cáo
trên y. Và spam ã phát trin mt cách nhanh chóng tây, nhng k thut ngn

11
chn spam trc ây ã không còn thích hp. Spam thng theo sau nhng qung
cáo thng mi chèo kéo khách hàng ( nhng email qung cáo thng mi c gi
mà không có yêu cu ) [2]. Spam ã và ang gây tác hi n ngi s dng Internet
và tc ng truyn Internet. Vi ngi s dng email, spam gây cho h cm
giác bc bi và phi mt thi gian và tin bc  xóa chúng,ôi khi h có th b
mt nhng email quan trng ch vì xóa nhm, tc  trên mng xng sng ca
Internet (Internet Backbone) cng b spam là cho chm li vì s lng spam c
chuyn i trên mng là cc ln [3]. Theo thng kê ca ZDNet  thi m nm
2004, mi ngày có khong 4 t email spam c phát tán qua Internet, trên 40%
ng email trên mng là spam
1
, gn ây ã t con s 50%
2
. Cho dù c nhn
din là “k thù ca cng ng“(“public enemy”) Internet, nhng spam ã và ang

mang li li nhun. Trong s 100.000 email spam phát tán, ch cn mt email có
phn hi là ã có th bù p chi phí u t [4].
 ngn chn spam, nhiu nhà khoa hc, các t chc, các cá nhân ã nghiên
cu và phát trin nhng k thut phân loi và lc email, tuy nhiên các spammer -
nhng ngi to nên spam và phát tán chúng cng tìm mi cách vt qua các b lc
này. Cuc chin gia các spammer và nhng ngi chng spam vn còn ang tip
din và dng nh không có hi kt. Thc t cho thy, nhu cu có mt phng
pháp và công c chng spam hu hiu là rt cn thit.
Xut phát t thc trng ó, nhóm chúng tôi chn hng nghiên cu ”Tìm
hi吋u các h逢噂ng ti院p c壱n cho bài toán phân lo衣i email và xây d詠ng ph亥n m隠m
Mail Client h厩 tr嬰 ti院ng Vi羽t “ vi mc ích tìm hiu, th nghim các phng
pháp tip cn cho bài toán phân loi email , t ó thc hin phân loi email giúp
ngn chn email spam hiu qu.
1
/>2
/>
12
1.2 Yêu c亥u bài toán:
Yêu cu i vi mt h thng phân loi email và ngn chn email spam
ng nhiên là phân loi c email là spam hay non-spam, tó s có bin pháp
ngn chn email spam, hiu qu phân loi email phi kh quan, tuy nhiên không th
ánh i hiu qu phân loi email spam cao mà b qua li sai cho rng email non-
spam là spam, bi vì cùng vi vic tng kh nng phân loi email spam thì kh nng
xy ra li nhn nhm email non-spam thành email spam cng tng theo. Do ó yêu
cu i vi mt h thng phân loi email spam là phi nhn ra c email spam
càng nhiu càng tt và gim thiu li nhn sai email non-spam là email spam.
1.3 B嘘 c映c khoá lu壱n :
Chúng tôi chia khoá lun làm 9 chng
§ Chng 1 Gii thiu v tài, bài toán phân loi email.
§ Chng 2 Tng quan : trình bày mt s hng tip cn phân loi email

và chng email spam,ng thi có s nhn xét ánh giá các phng
pháp, tó có c s chn la hng tip cn gii quyt vn .
§ Chng 3 : Gii thiu và mô t v c s d liu dùng  hc và kim th
Hai chng tip theo, chúng tôi trình bày c s lý thuyt và thc hin
phân loi email theo phng pháp Bayesian.
§ Chng 4: Trình bày c s lý thuyt cho hng tip cn da trên phng
pháp Bayesian.
§ Chng 5: Thc hin phân loi email d trên phng pháp Bayesian và
kim th.
Hai chng tip theo, chúng tôi trình bày c s lý thuyt và thc hin
phân loi email theo phng pháp AdaBoost
§ Chng 6: Trình bày c s lý thuyt cho hng tip cn da trên thut
toán AdaBoost.
§ Chng 7: Thc hin phân loi d trên phng pháp AdaBoost và kim
th.

13
§ Chng 8: Xây dng phn mm email Client ting Vit h tr phân loi
email
§ Chng 9: Tng kt, trình bày v nhng vn ã thc hin, nhng kt
qut c, xut hng m rng, phát trin trong tng lai.

14
Ch逢挨ng 2 : T蔚NG QUAN

15
2.1 Các cách th泳c con ng逢運i x穎 lý v噂i spam :
Trên th gii ã có nhiu t chc, công ty phát trin nhiu cách thc khác
nhau  gii quyt vn  spam. Có nhiu h thng c xây dng sn mt “danh
sách en” (Blacklist ) cha các tên min mà tó spam c to ra và phát tán, và

d nhiên là các email n t các tên min này hoàn toàn b khóa (block out). Mt s
h thng cn c vào header ca email (nhng trng nh ni gi (from ), tiêu 
(subject) ) và loi b nhng email có a ch xut phát t nhng spammer (ngi
phát tán spam). Vài h thng khác li tìm kim trong ni dung ca email, nhng du
vt cho thy có s tn ti ca spam chng hn email có quá nhiu du than, s ch
cái c vit hoa nhiu mt cách bt bình thng …
Tuy nhiên các spammer ngày càng tinh vi, vì th các k thut dùng  chng
spam cng phi c ci tin, và chính nhng ci tin này càng thôi thúc các
spammer tr nên ranh ma và tinh vi hn… Kt qu là nh hin nay, các email spam
gn nh ging vi mt email thông thng. Tuy nhiên email spam có mt u
không bao gi thay i ó là bn cht ca nó. Bn cht ó chính là mc tiêu qung
cáo sn phm hay dch v. Nó là c s cho phng pháp lc email da trên ni dung
(content based filtering).Theo ó, chúng ta c gng phát hin ra các ngôn ng qung
cáo (sales-pitch language) thay vì chú ý n các ch s thng kê ca email chng
hn nh có bao nhiêu ln xut hin ch “h0t chixxx!” …
Mt u quan trng cn phi cân nhc n khi lc spam là cái giá phi tr khi
lc sai. Nu mt b lc t chi nhn hu ht các email gi n hoc ánh du mt
email tht s quan trng nào ó là spam thì iu ó còn t hn c vic nhn tt c
email spam c gi n. Ngc li, nu có quá nhiu email spam vt c b lc
thì rõ ràng b lc hot ng không hiu qu, không áp ng c yêu cu ca ngi
s dng.

16
2.2 Các ph逢挨ng pháp ti院p c壱n:
2.2.1 Complaining to Spammers' ISPs :
• Ý t逢荏ng :
Tìm cách làm tng chi phí gi spam ca các spammer bng
nhng li than phin, phn ánh n các ni cung cp dch v mng
(Internet Service Provider - ISP). Khi chúng ta bit chính xác nhng
email spam thc sc gi n t dch v ISP nào, ta s phn ánh

li vi dch vó và dch v này s t chi cung cp dch v cho các
spammer dùng gi spam.
• A員c 8k吋m :
ây cng là gii pháp chng spam u tiên. Nhng li than
phin cng có tác dng ca nó. Nhng ni gi spam s b vô hiu hóa,
khi ó các spammer phi ng ký mt tài khon mi vi nhà cung cp
dch v ISP  có th tip tc phát tán các email spam ca mình. Dn
dn vic chuyn ni cung cp dch v s làm các spammer tn nhiu
chi phí và khi chúng ta phát hin càng sm thì chi phí trên ca các
spammer càng tng nhiu.
Cách này cng gp phi nhng khó khn ó là không th bit
chính xác nhng email spam này thc sn tâu do các spammer
ã khéo léo che giu i phn header ca email n i ngun gc. Do
ó cn phi hiu bit v header ca email  hiu rõ email spam này
tht s n t âu.
2.2.2 Mail Blacklists /Whitelists:
• Ý t逢荏ng:
Mt danh sách en (Blacklist) các a ch email hay các máy
ch email (mail server) chuyên dùng ca các spammer sc thit

17
lp và da vào ó ta có th ngn chn nhn email spam c phát tán
t nhng ni này.
Vic thit lp danh sách các a ch email en hay máy ch gi
email này s do mt nhóm tình nguyn xác nhn. Mt s nhà cung cp
dch v mng ISP s dùng danh sách en kiu này và tng t chi
nhn email t nhng máy ch hay email trong dánh sách ó. Nh
vy, nhng email spam sc phân loi và chn ngay ti máy ch
nhn email.
• A員c 8k吋m:

Phng pháp này bc u loi c khong 50% [5] email
spam.
Khuyt m ca phng pháp này là chúng không thng
u vi hn mt na s server mà spam ang s dng hin nay. Và
nu xác nhn sai danh sách en này thì vic dùng nó ng ngha vi
vic b qua mt lng ln email hp l.
Phng pháp này có th b qua mt nu nh các spammer gi
li email thông qua mt máy ch SMTP (Simple email Transfer
Protocol) có ngun gc hp pháp không k tên trong danh sách
“Blacklist”.
Ngoài ra, danh sách này không ch t chi nhn email t các
a ch IP (Internet Protocol) t nhng ni chuyên dùng gi spam mà
nó còn t chi luôn c nhng email mà có tên min nm trong danh
sách “Blacklist” này.
Cách này c áp dng ti mc nhà cung cp dch v mng
(ISP), và tht s hu dng vi ngi dùng nu h s dng mt ISP
áng tin cy.

18
Ngc li vi vic thit lp mt danh sách en “Blacklist” ta
còn có th thit lp mt danh sách “Whitelist”. Vi nhng a ch gi
email (hoc tên min domains) nm trong danh sách này sc các
ISP tng chp nhn email gi t nó. Mc nh tt c nhng email
khác s b t chi
Nu các spammer gi email spam vi phn “sender” ca email
có cùng tên min c chp nhn trong “Whitelist” thì email spam
vn có thn c tay ngi nhn.
2.2.3 Mail volume :
• Ý t逢荏ng:
B lc s s dng thut toán  kim tra s lng email nhn

c t mt máy ch (host) c th trong các ln kt ni sau cùng
(cách này ã c b lc Spamshield
3
ca Kai s dng. Nu s
ng email nhn c ln hn mt ngng nào ó thì các email ó
sc phân loi là spam.
• A員c 8k吋m:
B lc t ra hiu qu trong vic phân loi úng tt c các email
hp l trong iu kin vi mt ngng phân loi  cao.Nu b lc
c s dng cho cá nhân, thì nó hot ng rt hiu qu. Có th xem
ây là mt u im ca b lc bi vì vi email cá nhân thì nhng k
gi email qung cáo phi thit lp nhiu kt ni hn  gi mt s
ng email ging nhau. u này làm cho các email qung cáo ó d
dàng b phát hin da trên vic phân tích s lng email.
Mt hn ch ca b lc này là t l chp nhn phân loi sai
FAR (false acceptance rate) ca nó còn khá cao. Vi:
3


19
SN
S
n
FAR
n

=
SN
n


:  email spam mà b lc nhn là non-spam.
S
n
:  email spam thc sn b lc
2.2.4 Signature/ Checksum schemes:
• Ý t逢荏ng:
ây là mt trong nhng phng pháp phân loi email da trên
ni dung. Khi mt email ti thì giá tr “Signature/ Checksum” sc
tính toán cho mi email này và so sánh nó vi giá tr tính c t
nhng email spam c trng trong t nhng email spam có sn trên
Internet. Nu giá tr “signature/ checksum” ca nhng email ti ging
vi bt k giá tr nào trong c s d liu thì email ó c ánh giá là
spam.
Mt cách n gin  tính giá tr này là gán mt giá tr cho mi
kí t, sau ó cng tt c chúng li. S là không bình thng nu 2
email khác nhau li có chung mt giá tr “signature/ checksum”.
• A員c 8k吋m:
Cách tn công mt b lc kiu này là thêm vào ngu nhiên mt
vài ký t hay mt câu vô ngha trong mi email spam  to ra s
khác bit ca giá tr “signature”. Khi bn thy nhng th hn tp chèn
ngu nhiên trong phn tiêu  (subject) ca email, ó chính là cách 
tn công b lc da vào “signature/ checksum”.
Các spammer d dàng i phó i vi các b lc da trên
“signature/ checksum” bng phng pháp trên. Khi mà nhng ngi
vit các chng trình lc email tìm c cách chng li cách chèn

20
ngu nhiên này thì các spammer li chuyn sang cách khác. Vì th,
cách chng spam dùng các b lc “signature/checksum” cha bao gi
là mt cách tt.

B lc này c ng dng ti mc server,c các nhà cung
cp dch v mng (ISP) s dng.
Theo P.Graham [5], b lc kiu này ch lc khong 50-70%
spam
u im ca b lc này là ít khi phân loi sai email non-spam.
Brightmail
4
là phn mm chng spam da trên hng tip cn
này. Cách hot ng ca nó là to ra mt mng li các a ch email
gi. Bt kì email nào c gi n nhng a ch này thì u là spam
vì vi nhng email hp l thì him khi li c gi n nhng a ch
gi này. Vì vy, khi b lc nhn thy nhng email ging nhau gi n
mt a ch giã c to ra này thì nó s lc ra B lc phân bit
nhng email ging nhau da vào “signatures” ca chúng.
2.2.5 Genetic Algorithms:
• Ý t逢荏ng:
B lc da trên thut toán di truyn (Genetic Algorithms) s
dng các b nhn dng c trng (“fearture detectors”)  ghi m
(score) cho mi email. Thc t, nhng “fearture detectors” này là mt
tp các lut c xây dng da trên các kinh nghim ã có (empirical
rules) và áp dng vào mi email  thu v mt giá tr s.
Thut toán di truyn này c biu din là nhng cây (trees)
và c kt hp vi mt tp hun luyn cùng vi mt hàm thích hp
“fitness function”.
4


21
 ch tin hóa (Evolutionary mechanism) ca thut toán
:thut tóan thc hin hai thao tác c bn là phép lai “crossover” và t

bin “mutation”. Mc ích tin trình này là tìm ra c mt giá tr
“score” nh nht da vào hàm “fitness function”. Giá tr “score” sau
ó sc s dng  phân loi email là spam hay non-spam.[6]
• A員c 8k吋m:
ây là hng tip cn phân loi email da trên ni dung.
ng tip cn hiu qu nht cho b lc ti mc ISP c
ánh giá là da trên thut toán di truyn “Genetic Algorithms” [6]
im không thun li ca thut toán di truyn là òi hi kh
ng x lý phi ln.
ng tip cn này c ng dng trong trình lc spam
Spamassassin
5
. Nó hot ng rt hiu qu ti mc ISP và c nhiu
ngi ánh giá là mt trong nhng b lc hot ng hiu qu nht ti
mc ISP.
im yu ca trình lc “Spamassassin” là hot ng vi hiu
qu cha cao ti mc ngi dùng cá nhân.
2.2.6 Rule-Based (hay là Heuristic):
• Ý t逢荏ng:
Da vào lut tìm kim các mu có du hiu là spam nh các t
và ng xác nh, hàng lot các ch hoa và du chm than, phn header
ca email sai nh dng, ngày trong email là  tng lai hoc quá
kh.ó là cách hu ht phn ln các trình lc spam hot ng t nm
2002.
• A員c 8k吋m:
5


22
Hiu sut ca trình lc da trên lut (rule-based filters) khác

nhau rt nhiu. Cách n gin nht là loi b các email mà có cha
nhng t xu nào ó (ví d nhng t mà thng xut hin nhiu hay
ch xut hin trong spam). Nhng ây cng là im yu  các
spammer có th li dng  qua mt các b lc kiu này bng cách c
gng tránh s dng nhng t xu và thay bng nhng t “tt” -c
s dng nhiu trong email non-spam. Trong khi ó các email non-
spam thì b loi b nu vô tình cha mt vài t “xu” dng này. iu
này, dn n kh nng lc sai còn cao.
Mt u bt li khác là các lut dng này u là tnh. Khi các
spammer tìm ra c mt phng pháp mi  t qua thì nhng
ngi vit trình lc li phi vit nhng lut mi  lc các spam.
Nhng spammer chuyên nghip thì có th kim tra c nhng email
trên các h thng lc da trên lut trc khi gi chúng i.
Nu b lc c xây dng da trên lut phc tp thì vn phát
huy tác dng lc spam hiu qu. Ví d nh trình lc Spamassassin
lc lên n 90-95% spam.
Mt u thun li là b lc da trên lut tnh thì d cài t.
2.2.7 Challenge-Response:
• Ý t逢荏ng:
Khi bn nhn c email t ai ó mà cha h gi cho bn trc
ó thì h thng lc challenge-response
6
gi ngc li 1 email yêu cu h
phi n 1 trang web và in y  thông tin vào form trc khi email
chuyn cho ngi dùng.
• A員c 8k吋m:
6
/>
23
Li th ca h thng này là  lt li rt ít spam. u bt li ca

nó can thip thô bo n ngi gi. Bng cách s dng h thng này, ta
cn xác nh rõ ai là ngi gi email.
Mt m bt li khác ca h thng này là có nhiu email non-
spam b loi b và thi gian trì hoãn quá lâu. Ví d nh mt ngi mun
mi bn i d tic nhng ngi bn y s ch thy email tr li ca bn
vào ngày hôm sau và n lúc ó thì ã quá tr.
Nhiu trng hp ngi gi s không tr li cho các thông p
kiu này và email h gi s b tht lc.
S dng phng pháp dng này chng khác nào ta ang t cô lp
chính mình vi mi ngi xung quanh. H thng này s ging nh bc
ng bao quanh th gii luôn mun gi thông p cho ta.
2.2.8 Machine Learning ( Máy h丑c ):
• Ý t逢荏ng:
Áp dng các png pháp máy hc trong các bài toán phân loi,
c bit là phân loi vn bn vào bài toán phân loi email, các thut toán
máy hc nh Naïve Bayesian [9],[17],[18] AdaBoost [13], Suppor
Vector Machine[18], , ã c s dng trong lnh vc phân loi vn bn,
nhn dng, …vi hiu qu cao. Ý tng là tìm cách xây dng mt b
phân loi nhm phân lai cho mt mu mi bng cách hun luyn nhng
mu ã có sn.
• A員c 8k吋m
Phng pháp này có th áp dng  mc Server hay Client.
Hn ch là cn phi có mt kho ng liu (corpus) hun luyn ban
u  cho máy hc, vic hun luyn mt nhiu thi gian. Mt hn ch
na là hiu qu phân loi ph thuc vào kho ng liu dùng  hun
luyn.

24
2.3 Ph逢挨ng pháp l詠a ch丑n :
Trong nhng hng tip cn ã tìm hiu, chúng tôi chn hng tip cn

phân loi email bng phng pháp máy hc, phng pháp này có hiu qu cao,
ng thi cng rt khó b các spammer vt qua. Ngoài ra, hng tip cn này
có th áp dng c  mc Client
C th hng tip cn mà nhóm chúng tôi tìm hiu và th nghim là
phân loi email da trên thut toán hun luyn Naïve Bayes và Adaboost, hai
phng pháp này có mt s u im sau:
§ Hiu qu phân loi trong các lnh phân loi vn bn, nhn dng
ã c kim chng và khá cao
§ Thích hp cho tng ngi dùng c th và  mc Client
§ Có kh nng t hc  phân loi úng.
§ ng tip cn còn khá mi.
2.4 Các ch雨 s嘘"8ánh giá hi羽u qu違 phân lo衣i email :
2.4.1 Spam Recall và Spam Precision:
 tin li cho vic so sánh, ngi ta a ra hai ch sánh giá là spam
recall và spam precision.
Spam recall là t l phn trm gia s email –c b lc coi là spam - b
chn li và tng s email spam (thc s ) n b lc
Spam Precision là t l phn trm gia s email b chn thc s là spam
vi s email b chn -c b lc coi là spam, spam precision ánh giá mc 
an toàn ca b lc.
Công thc tính Spam Recall (SR) và Spam Precision(SP) nh sau:
SS
SS SN
n
SR
nn
−>
−> −>
=
+

Công th泳c 2-1 :Công th泳c tính Spam Recall

25
SS
SS NS
n
SP
nn
−>
−> −>
=
+
Công th泳c 2-2 : Công th泳c tính Spam Precesion
Vi :
 n
SS >−
là s email là spam mà b lc nhn ra là spam
 n
NS >−
là s email là spam mà b lc nhn ra là email non-spam
 n
SN >−
là s email non-spam mà b lc nhn ra là spam
2.4.2 T雨 l羽 l厩i Err (Error) và t雨 l羽 chính xác Acc(Accuracy) :
Trong vic phân loi email, hiu qu phân loi da vào t l chính xác (Acc)
hoc t l li (Err). Công thc tính t l chính xác và t l li nh sau :
NN SS
NS
nn
Acc

NN
−> −>
+
=
+
Công th泳c 2-3 :công th泳c tính t雨 l羽 chính xác
NS SN
NS
nn
Err
NN
−> −>
+
=
+
Công th泳c 2-4 : công th泳c tính t雨 l羽 l厩i
Vi

N
N và
S
N là s email non-spam và s email spam cn phân loi

NN
n
>−
là s email là non-spam và c b lc nhn ra là non- spam

SN
n

>−
là s email là non-spam mà b lc nhn ra là spam

SS
n
>−
là s email là spam mà c b lc nhn ra là spam

NS
n
>−
là s email là spam mà c b lc nhn ra là non-spam
2.4.3 T雨 l羽 l厩i gia tr丑ng WErr (Weighted Error ) và t雨 l羽 chính xác
gia tr丑ng (Weighted Accuracy):
Trong phân loi email có hai loi li : li nhn spam ra non-spam (false
negative) và li nhn non-spam ra spam(false positive) [3]. Li th hai là li

×