1
I HC QUC GIA TP. H CHÍ MINH
TRNG I HC KHOA HC T NHIÊN
KHOA CÔNG NGH THÔNG TIN
MÔN H THNG THÔNG TIN
LÊ NGUYN BÁ DUY –TRN MINH TRÍ
TÌM HIU CÁC HNG TIP CN PHÂN LOI
EMAIL VÀ XÂY DNG PHN MM MAIL CLIENT
TR TING VIT
KHOÁ LUN C NHÂN TIN HC
TP. HCM, NM 2005
2
I HC QUC GIA TP. H CHÍ MINH
TRNG I HC KHOA HC T NHIÊN
KHOA CÔNG NGH THÔNG TIN
MÔN H THNG THÔNG TIN
LÊ NGUYN BÁ DUY -0112050
TRN MINH TRÍ -0112330
TÌM HIU CÁC HNG TIP CN PHÂN LOI
EMAIL VÀ XÂY DNG PHN MM MAIL CLIENT
TR TING VIT
KHOÁ LUN C NHÂN TIN HC
GIÁO VIÊN HNG DN
THY LÊ C DUY NHÂN
NIÊN KHÓA 2001-2005
10
1.1 Gii thiu:
Thi i ngày nay là thi i bùng n thông tin, Internet ã tr nên quen
1.1 Gii thiu: 10
1. 2 Yêu cu bài toán: 12
1.3 B cc khoá lu n : 12
Chng 2 : TNG QUAN 14
2.1 Các cách thc con ngi x lý vi spam : 15
2.2 Các phng pháp tip cn: 16
2.2.1 Complaining to Spammers' ISPs : 16
2. 2.2 Ma il Bl ackl i sts /Whit elis ts: 16
2.2.3 Mail volume : 18
2. 2.4 Signature/ 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 hc ): 23
2.3 Phng pháp la chn : 24
2.4 Các ch sánh giá hiu qu phân loi email : 24
2.4.1 Spam Recall và Spam Precision: 24
2.4.2 T l li Err (Error) và t l chính xác Acc(Accuracy) : 25
2.4.3 T l li gia trng WErr (Weighted Error ) và t l chính xác gia trng (Weighted
Accuracy): 25
2.4.4 T s chi phí tng hp TCR (Total Cost Ratio ): 26
Chng 3 : GII THIU CÁC KHO NG LIU DÙNG KIM TH
PHÂN LOI EMAIL 28
3.1 Kho ng liu PU (corpus PU ): 29
3.1.1 Vài nét v kho ng liu PU: 29
3.1.2 Mô t cu trúc kho ng liu PU: 30
3.2 Kho ng liu email ch: 31
Chng 4 : PHNG PHÁP PHÂN LOI NAÏVE BAYESIAN VÀ NG
DNG PHÂN LOI EMAIL 33
4.1 Mt vài khái nim xác sut có liên quan 34
6.3.2 Phng pháp la chn lut yu : 70
Chng 7 : THC HIN VÀ KIM TH PHÂN LOI EMAIL DA
TRÊN PHNG PHÁP ADABOOST 73
7.1 Cài t b phân loi email da trên phng pháp AdaBoost: 74
7.1.1 Tp hun luyn mu và tp nhãn : 74
7.1.2 Xây dng tp lut yu ban u : 75
7.1.3 Th tc WeakLearner chn lut yu: 76
7.1.4 Phân loi email : 76
7.2 Th nghim hiu qu phân loi : 76
7.2.1 Th nghim vi kho ng liu pu: 76
7.2.2 Th nghim vi kho ng liu email ch: 79
7.3 u – nhc m ca phng pháp phân loi AdaBoost: 80
7.3.1 u m : 80
7.3.2 Khuyt m : 80
Chng 8 : XÂY DNG CHNG TRÌNH MAIL CLIENT TING VIT
H TR PHÂN LOI EMAIL 82
8.1 Chc nng: 83
8.2 Xây dng b lc email spam : 83
8.3 T chc d liu cho chng trình : 84
8.4 Giao din ngi dùng : 85
8.4.1 S màn hình : 85
8.4.2 Mt s màn hình chính : 85
Chng 9 : TNG KT VÀ HNG PHÁT TRIN 94
9.1 Các vic ã thc hin c : 95
9.2 Hng ci tin, m rng : 95
9.2.1 V phân loi và lc email spam: 95
9.2.2 V chng trình Mail Client: 96
TÀI LIU THAM KHO 97
Ting Vit : 97
Ting Anh : 97
nhn dng, …vi hiu qu cao. Ý tng là tìm cách xây dng mt b
phân loi nhm phân lai cho mt mu mi bng cách hun luyn nhng
mu ã có sn.
• c m
Phng pháp này có th áp dng mc Server hay Client.
Hn ch là cn phi có mt kho ng liu (corpus) hun luyn ban
u cho máy hc, vic hun luyn mt nhiu thi gian. Mt hn ch
na là hiu qu phân loi ph thuc vào kho ng liu dùng hun
luyn.
36
4.2 Phng pháp phân loi Naïve Bayesian :
Phân loi Bayesian là phng pháp phân loi s dng tri thc các xác sut
ã qua hun luyn. Phng pháp này thích hp vi nhng lp bài toán òi hi phi
doán chính xác lp ca mu cn kim tra da trên nhng thông tin t tp hun
luyn ban u [16].
Theo Charles Elkan [16] cho
1
, ,
n
XX
là các thuc tính vi các giá tr ri rc
c dùng doán mt lp riêng bit C cho mt mu, tp các lp mà mu có th
thuc v là C
{ }
12
, , ,
m
ccc
= . Cho mt mu hun luyn vi giá tr các thuc tính
nn
nn
PXxXx XxCc
PCcX x X x X x PCc
PXxXx Xx
=∧=∧∧==
==∧=∧∧===
=∧=∧∧=
Xác sut
(
)
PCc
=
c tính d dàng t tp d liu hun luyn. Xác
sut
(
)
11 22
nn
PXxXx Xx
=∧=∧∧= không thích hp dùng cho vic quyt nh
lp ca C bi vì giá tr này nh nhau i vi mi lp c. Nh vy cn c dóan
lp ca C là da vào xác sut
(
)
11 22
|
nn
PX x X x X xCc
1122 22
|
| , |
nn
nn nn
PX x X x X xCc
PXxXx XxCcPXx XxCc
=∧=∧∧==
= = =∧∧= = =∧∧= =
47
*
,,
**
S
S
SN
SN
n
s
N
P Max M Min N
nn
sn
NN
chúng tôi s dng cu trúc d liu là bng bm.ng vi mi kho ng liu
email spam và non-spam chúng tôi xây dng mt bng bm tng
ng.Bng bm này s bao gm token và s email cha token hoc s ln
xut hin ca token trong tng kho ng liu tng ng, hoc có thng
thi cha ba thông tin này – tùy theo chúng ta áp dng cách tính xác sut
spam nào cho mi token. Nh vy mi token s có mt giá tr bm (xác
nh bng hàm bm tnh ngha ) tng ng vi v trí trên bng bm
ta có th truy xut nhanh n phn t token trên bng. Mc ích xây dng
bng bm là ti u hóa tc truy xut các token trích t email cng nh
ti u thi gian xác nh mt email là spam hay không. Mi phn t ca
bng bm lu tr token, s ln xut hin (hoc s email có cha token ó ),
hoc xác sut spam ca nó, tùy theo mc ích x lý c th mà mi phn t
10
1.1 Gii thiu:
Thi i ngày nay là thi i bùng n thông tin, Internet ã tr nên quen
thuc và không th thiu i vi mi quc gia và xã hi. Liên lc qua Internet ã tr
nên ph bin, và email là mt phng tin liên lc có chi phí thp, nhanh chóng và
hiu qu nht trên Internet. Hng ngày mi ngi s dng email u nhn c mt
ng ln email, tuy nhiên không phi tt c các email mà ta nhn c u cha
thông tin mà ta quan tâm. Nhng email mà ta không mun nhn y là email Spam.
Ngc li, nhng email không phi là spam gi là non-spam – email hp lc
ngidùng chp nhn.
Spam chính là nhng email c phát tán mt cách rng rãi không theo bt
c mt yêu cu nào ca ngi nhn vi s lng ln (unsolicited bulk email
(UBE)), hay nhng email qung cáo c gi mà không có yêu cu ca ngi nhn
(unsolicited commercial email (UCE)) [1].
Nhiu ngi trong chúng ta ngh rng spam là mt vn mi, nhng thc
ra nó ã xut hin khá lâu – ít nht là t nm 1975. Vào lúc khi thy, ngi dùng
hu ht là các chuyên gia v máy tính, h có th gi hàng tá thm chí hàng trm
phn hi là ã có th bù p chi phí u t [4].
ngn chn spam, nhiu nhà khoa hc, các t chc, các cá nhân ã nghiên
cu và phát trin nhng k thut phân loi và lc email, tuy nhiên các spammer -
nhng ngi to nên spam và phát tán chúng cng tìm mi cách vt qua các b lc
này. Cuc chin gia các spammer và nhng ngi chng spam vn còn ang tip
din và dng nh không có hi kt. Thc t cho thy, nhu cu có mt phng
pháp và công c chng spam hu hiu là rt cn thit.
Xut phát t thc trng ó, nhóm chúng tôi chn hng nghiên cu ”Tìm
hiu các hng tip cn cho bài toán phân loi email và xây dng phn mm
Mail Client h tr ting Vit “ vi mc ích tìm hiu, th nghim các phng
pháp tip cn cho bài toán phân loi email , t ó thc hin phân loi email giúp
ngn chn email spam hiu qu.
1
/>2
/>
12
1.2 Yêu cu bài toán:
Yêu cu i vi mt h thng phân loi email và ngn chn email spam
ng nhiên là phân loi c email là spam hay non-spam, tó s có bin pháp
ngn chn email spam, hiu qu phân loi email phi kh quan, tuy nhiên không th
ánh i hiu qu phân loi email spam cao mà b qua li sai cho rng email non-
spam là spam, bi vì cùng vi vic tng kh nng phân loi email spam thì kh nng
xy ra li nhn nhm email non-spam thành email spam cng tng theo. Do ó yêu
cu i vi mt h thng phân loi email spam là phi nhn ra c email spam
càng nhiu càng tt và gim thiu li nhn sai email non-spam là email spam.
1.3 B cc khoá lun :
Chúng tôi chia khoá lun làm 9 chng
§ Chng 1 Gii thiu v tài, bài toán phân loi email.
§ Chng 2 Tng quan : trình bày mt s hng tip cn phân loi email
và chng email spam,ng thi có s nhn xét ánh giá các phng
v Kt qu thc hin kim th vi thut toán ADaBoost with real value
predictions
Ng liu T=5
T=10 T=50 T=100 T=200 T=500
HTML SàS 48 48 49 49 49 49
SàN 2 2 1 1 1 1
NàN 49 49 49 49 49 49
NàS 1 1 1 1 1 1
SR 96.00% 96.00% 98.00% 98.00% 98.00% 98.00%
SP 97.96% 97.96% 98.00% 98.00% 98.00% 98.00%
TEXT SàS 84 93 98 98 98 98
SàN 14 5 0 0 0 0
NàN 98 97 98 99 99 99
NàS 2 3 2 1 1 1
SR 85.71% 94.90% 100.00% 100.00% 100.00% 100.00%
SP 97.67% 96.88% 98.00% 98.99% 98.99% 98.99%
ng 7-3 kt qu th nghim phân loi email vi ng liu email ch bng thut toán
AdaBoost with real-value predictions
v Kt qu thc hin kim th vi thut toán ADaBoost with discrete
predictions
Ng liu T=5
T=10 T=50 T=100 T=200 T=500
HTML SàS 48 49 50 50 50 50
SàN 2 1 0 0 0 0
NàN 49 49 49 49 49 49
NàS 1 1 1 1 1 1
SR 96.00% 98.00% 100.00% 100.00% 100.00% 100.00%
SP 97.96% 98.00% 98.04% 98.04% 98.04% 98.04%
85
of a NaiveBayesian and A memory-based approach. In 4
th
PKDDsWorkshop on
MachineLearning and Textual Information
Access.
[18] I.Androutsopoulos,G.Paliouras,and E.Michelakis.Learning to filter unsolicited
commercial e-mail.Technical report,National Centre for Scientific
Research“Demokritos”,2004.
17
lp và da vào ó ta có th ngn chn nhn email spam c phát tán
t nhng ni này.
Vic thit lp danh sách các a ch email en hay máy ch gi
email này s do mt nhóm tình nguyn xác nhn. Mt s nhà cung cp
dch v mng ISP s dùng danh sách en kiu này và tng t chi
nhn email t nhng máy ch hay email trong dánh sách ó. Nh
vy, nhng email spam sc phân loi và chn ngay ti máy ch
nhn email.
• c m:
Phng pháp này bc u loi c khong 50% [5] email
spam.
Khuyt m ca phng pháp này là chúng không thng
u vi hn mt na s server mà spam ang s dng hin nay. Và
nu xác nhn sai danh sách en này thì vic dùng nó ng ngha vi
vic b qua mt lng ln email hp l.
Phng pháp này có th b qua mt nu nh các spammer gi
li email thông qua mt máy ch SMTP (Simple email Transfer
Protocol) có ngun gc hp pháp không k tên trong danh sách
“Blacklist”.
Ngoài ra, danh sách này không ch t chi nhn email t các
gi email qung cáo phi thit lp nhiu kt ni hn gi mt s
ng email ging nhau. u này làm cho các email qung cáo ó d
dàng b phát hin da trên vic phân tích s lng email.
Mt hn ch ca b lc này là t l chp nhn phân loi sai
FAR (false acceptance rate) ca nó còn khá cao. Vi:
3
102
Kt qu th nghim vi PUA:
Công thc 5-5 Công thc 5-6 Công thc 5-7
λ
10 15 20 10 15 20 10 15 20
1S 57 56 56 56 56 55 56 56 56
N 0 1 1 1 1 2 1 2 1
N 55 53 54 56 55 55 54 54 53
S 2 4 3 1 2 2 3 3 4
SR 100.00% 98.25% 98.25% 98.25% 98.25% 96.49% 98.25% 96.55% 98.25%
SP 96.61% 93.33% 94.92% 98.25% 96.55% 96.49% 94.92% 94.92% 93.33%
TCR 28.5 11.4 14.25 28.5 19 14.25 14.25 11.6 11.4
9S 56 56 56 54 55 55 55 55 55
N 1 1 1 3 2 2 2 2 2
N 56 53 54 56 55 55 54 54 53
S 1 4 3 1 2 2 3 3 4
SR 98.25% 98.25% 98.25% 94.74% 96.49% 96.49% 96.49% 96.49% 96.49%
SP 98.25% 93.33% 94.92% 98.18% 96.49% 96.49% 94.83% 94.83% 93.22%
TCR 5.71.5405412.035714 4.75 2.85 2.851.9655171.965517 1.5
999S 52 54 54 52 51 54 55 55 55
N 5 3 3 5 6 3 2 2 2
N 56 54 54 56 55 56 55 54 53
432 0
549
0100.00%100.00%
PU2
126 513 14
57
12 2
56
1 85.71% 92.31%
126 513
126 0
513
0100.00%100.00%
PU3
1638 2079 182 231
176 6
216
15 96.70% 92.15%
1638
20791638 0
2079
0100.00%100.00%
PUA
513 513 57
57
56 1
38
19 98.25% 74.67%
513 513
513 0
PU3
1638
2079
182 231 178
4
217
14 97.80% 92.71%
1638 2079
1634
4 2079 0 99.76% 100.00%
PUA
513 513
57
57 56
1 40 17 98.25% 76.71%
513 513 513
0
513
0
100.00%
100.00%
104
c) T=100
Ng
liu
email hc S
email kim th
S->SS->NN->NN-
>S
215
16 95.60% 91.58%
1638
20791618
20 2067
12 98.78% 99.26%
PUA
513 513 57
57
56 1
38
19 98.25% 74.67%
5
13 513
513 0
513
0100.00%100.00%
d) T=50
Ng
liu
email hc S
email kim th
S->SS->NN->NN-
>S
SR SP
Spam
Non-
spam
Spam Non-spam
PU1
57
57 0
37
20100.00% 74.03%
513 513
512 1
510
3 99.81% 99.42%
e) T=10
Ng
liu
email hc S
email kim th
S->SS->NN->NN-
>S
SR SP
Spam
Non-
spam
Spam Non-spam
PU1
432
549
48 61 45
3
565
93.75% 90.00%
432 549
395 37
515
1
29 28
98.25% 66.67%
513 513
510
3 437
76
99.42% 87.03%
f) T=5
Ng
liu
email hc S
email kim th
S->SS->NN->NN-
>S
SR SP
Spam
Non-
spam
Spam Non-spam
PU1
432
549
48 61 44
4
538
91.67% 84.62%
432 549
388 44
493
• c m:
6
/>
23
Li th ca h thng này là lt li rt ít spam. u bt li ca
nó can thip thô bo n ngi gi. Bng cách s dng h thng này, ta
cn xác nh rõ ai là ngi gi email.
Mt m bt li khác ca h thng này là có nhiu email non-
spam b loi b và thi gian trì hoãn quá lâu. Ví d nh mt ngi mun
mi bn i d tic nhng ngi bn y s ch thy email tr li ca bn
vào ngày hôm sau và n lúc ó thì ã quá tr.
Nhiu trng hp ngi gi s không tr li cho các thông p
kiu này và email h gi s b tht lc.
S dng phng pháp dng này chng khác nào ta ang t cô lp
chính mình vi mi ngi xung quanh. H thng này s ging nh bc
ng bao quanh th gii luôn mun gi thông p cho ta.
2.2.8 Machine Learning ( Máy hc ):
• Ý tng:
Áp dng các png pháp máy hc trong các bài toán phân loi,
c bit là phân loi vn bn vào bài toán phân loi email, các thut toán
máy hc nh Naïve Bayesian [9],[17],[18] AdaBoost [13], Suppor
Vector Machine[18], , ã c s dng trong lnh vc phân loi vn bn,
nhn dng, …vi hiu qu cao. Ý tng là tìm cách xây dng mt b
phân loi nhm phân lai cho mt mu mi bng cách hun luyn nhng
mu ã có sn.
• c m
Phng pháp này có th áp dng mc Server hay Client.
Hn ch là cn phi có mt kho ng liu (corpus) hun luyn ban
u cho máy hc, vic hun luyn mt nhiu thi gian. Mt hn ch
na là hiu qu phân loi ph thuc vào kho ng liu dùng hun
nn
−>
−> −>
=
+
Công thc 2-1 :Công thc tính Spam Recall
25
SS
SS NS
n
SP
nn
−>
−> −>
=
+
Công thc 2-2 : Công thc tính Spam Precesion
Vi :
ü n
SS >−
là s email là spam mà b lc nhn ra là spam
ü n
NS >−
là s email là spam mà b lc nhn ra là email non-spam
ü n
SN >−
là s email non-spam mà b lc nhn ra là spam
2.4.2 T l li Err (Error) và t l chính xác Acc(Accuracy) :
Trong vic phân loi email, hiu qu phân loi da vào t l chính xác (Acc)
>−
là s email là non-spam và c b lc nhn ra là non- spam
•
SN
n
>−
là s email là non-spam mà b lc nhn ra là spam
•
SS
n
>−
là s email là spam mà c b lc nhn ra là spam
•
NS
n
>−
là s email là spam mà c b lc nhn ra là non-spam
2.4.3 T l li gia trng WErr (Weighted Error ) và t l chính xác
gia trng (Weighted Accuracy):
Trong phân loi email có hai loi li : li nhn spam ra non-spam (false
negative) và li nhn non-spam ra spam(false positive) [3]. Li th hai là li