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

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 hỗ trợ tiếng Việt - 2 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 (405.41 KB, 36 trang )


37
Bng cách  qui, vit tha s th hai trong tích trên nh sau :
(
)
22
|
nn
PXx XxCc
=∧∧ = ==
(
)
(
)
2233 33
| , |
nn nn
PXxXx XxCcPXx XxCc
= =∧∧= = =∧∧= =
và c tip tc
nh vy. Phng pháp phân loi Naïve Bayesian gi thit rng vi mi
i
X
kt qu
tác ng ca nó là c lp vi các
j
X
khác, nh vy chúng ta tha nhn rng:
(
)
(


)
112 2 11
| ,|
nn
PXxXx XxCcPXxCc
= =∧∧=== ==
và tng t nh vy i
vi
2
X
, ,
n
X
.
Nh vy xác sut
(
)
11 22
|
nn
PX x X x X xCc
=∧=∧∧==
=
( )( )( )( )
11 22
| | | |
n
nn ii
i
PX x C cPX x C c PX x C c PX x C c

== == === ==

Mi mt tha s trong tích trên có thc tính d dàng t tp hun luyn
ban u, nh vy phng pháp Naïve Bayesian gim s phc tp ca vic tính toán
giá tr xác sut
(
)
11 22
|
nn
PX x X x X xCc
=∧=∧∧==
4.3 Phân loi email bng phng pháp Naïve Bayesian :
ây mi mu mà ta xét chính là mi mt email, tp các lp mà mi
email có th thuc v là C ={spam, non-spam}
Khi ta nhn c mt email, nu ta không bit mt thông tin gì v nó,
do ó khó có th quyt nh chính xác email này là spam hay không .
Nu nh ta có thêm c m hay thuc tính nào ó ca email thì ta
có th nâng cao hiu qu nhn c email là spam Mt email có nhiu c
im nh : tiêu , ni dung, có ính kèm tp tin hay không,…Ta có th da
vào các thông tin này  nâng cao hiu qu phân lai email spam. Mt ví d
n gin : nu ta bit c rng 95 % email html là email spam, và ta li
nhn c mt email html, nh vy có th da vào xác sut bit trc 95%
email html là email spam  tính c xác sut email mà ta nhn c là
spam, nu xác sut này ln hn xác sut email ó là non-spam, có th kt

38
lun rng email ó là spam, tuy nhiên kt lun này không chính xác lm
Nhng nu ta cóc nhiu xác sut bit trc nh vy, thì kt lun s tr
nên áng tin cy hn.  có c các xác sut bit trc này, s dng

phng pháp Naïve Bayesian hun luyn tp mu (email) ban u, sau ó s
s dng các xác sut này ng dng vào phân lai mt mu (email) mi.
4.3.1 Phân loi email da trên thut toán Naïve Bayesian
Gi thit mi mt email c i din bi mt vector thuc tính
c trng
12
( , , , )
n
xxxx
=
r
vi
12
, , ,
n
xxx
, là giá tr ca các thuc tính
1
X ,
2
X , ,
n
X tng ng trong không gian vector c trng
X
r
. Theo M
Sahami et al [9] ta s dng các giá tr nh phân,
i
X =1 nu các c m
ca

i
X có trong email, ngc li
i
X =0.
Ta tính giá tr tng h MI (X,C) (Mutual Information) mà mi
mt i din ca
X
thuc v loi C nh sau:
{ }
0,1
(,)
( , ) ( , ).log
( )()
x
PXxCc
MIXC PX xCc
PX xPCc

==
= ==
==

{ }
,
c spam non spam
∈−
Công thc 4-5 :công thc tính  tng h MI
Sau ó ta chn các thuc tính có giá tr MI cao nht.Các xác sut
P(X), P(C), P(X,C)c tính da trên d liu hc
Da vào công thc xác sut Bayes và công thc xác sut y  ta

có c xác sut mt email vi vector c trng x
r
x
r
thuc v loi c là:
{ }
,
().( |)
(|)
().(|)
k spam non spam
PCcPX xCc
PCcXx
PCkPXxCk
∈−
= ==
= ==
= ==

uurr
uurr
uurr
Vi C là e email c xét,
{ }
,
c spam nonspam

Công thc 4-6

39

Thc t thì rt khó tính c xác sut
(|)
PXC
u ur
bi vì giá tr s
ng ca các vector rt nhiu và nhiu vector him khi hay thm chí
không xut hin trong tp d liu hun luyn.Nhã nói, phng pháp
Naïve Bayesian gi thit rng
1
X
,
2
X , ,
n
X là nhng bin cc lp, do
ó chúng ta có th tính c xác sut  trên nh sau:
{ }
i1
,
1
().( |)
(|)
().( |)
n
ii
n
ii
k spam non spam
i
PCc PX xCc

PCcXx
PCk PX xCk
=
∈−
=
= ==
= ==
= ==



Công thc 4-7
Vi
( |)
i
PXC

()
PC
c tính da trên d liu hc, vic tính này
da vào tp hun luyn ban u.
T xác sut này, ta so sánh vi mt giá tr ngng t (trình bày 
mc ) mà ta cho là ngng  phân loi email spam hay không, nu xác
suât này ln hn t, ta cho là email ó là spam, ngc li ta xem email ó
là non-spam.
4.3.2 Chn ngng phân loi email :
Trong phân loi email, có hai loi sai lm : sai lm nhn mt email
là spam mc dù thc t nó là non-spam (false positive) và sai lm th hai
là nhn mt email là non-spam mc dù nó là spam (false negative). Rõ
ràng là sai lm th nht là nghiêm trng hn bi vì ngi s dng có th

chp nhn mt email spam vt qua b lc nhng không chp nhn mt
email hp l quan trng li b b lc chn li.
Gi s N

S và S

N tng ng vi hai li sai trên ây S dng
lut quyt nh Bayes da trên chi phí [9], ta gi s rng li N

S có chi
phí gp
λ
ln li S

N, chúng ta phân loi mt email là spam da vào
tiêu chun sau:

40
( )|)
( |)
P C spam X x
P C non spam X x
λ
==
>
=−=
uurr
uurr
Công thc 4-8


( |)1( |)
P C spam X x P C non spam X x
===−=−=
uurr uurr
Nên ta có:
( |)
P C spam X x t
= =>
uurr
vi
1
t
λ
λ
=
+

1
t
t
λ=

Nh vy ngng phân loi c chn là t tùy thuc vào giá tr
λ

41
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


42
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:
5.1.1 Khái nim Token :
 xem xét ni dung email chúng tôi dùng khái nim “token”
Các “token” có th xem nh là các t cn xem xét mà ta tách ra t ni
dung ca email. Vi các kí t ch, kí t s, kí t ‘$', kí t gch ngang ‘-’, kí
t gch di ‘_’, kí t nháy n ‘’’ là nhng kí t cu to thành token. Còn
nhng kí t còn li nh khong trng, kí t ‘*’, kí t ‘:’, … c xem là kí t
 tách t hay phân cách các t. Vi nhng t tách c mà gm toàn kí s
thì không c xem là token (ví d: “12345”).
Ví d ta có các token sau:
“qvp0045”, “ indira”, “mx-05”, “$7500”, “3d0725”, “ platinum”.
Nu ta có mt chui sau: “ />” thì ta s có
các token tng ng là: “http”, “www”, “27meg”, “com”, “foo”.
5.1.2 Vector thuc tính :
Nhã nói  mc 4.3.1, ta chuyn mi mt email sang mt
vector x
r
=(
1
x ,
2
x , ,
n
x ) vi
1
x ,
2
x , ,

n
x là giá tr các thuc tính
1
X ,
2
X
, ,
n
X
trong không gian vector c trng
X
r
. Các thuc tính có th
là mt token , nhóm các token …Trong trng hp n gin nht, mi
mt thuc tính c th hin bi mt token n và tt c các thuc tính
có giá tr lun lý (Boolean), nh vy
i
X =1 nu email chá token, trng
hp ngc li
i
X =0.
Chúng tôi chn thuc tính là token n, nhng thay vì giá tr
ca các thuc tính là giá tr lun lý (boolean), chúng tôi chn là xác sut
spam ca mi token. Xác sut spam ca mi token s có giá tr trong an
[0, 1].Xác sut cho ta nhiu thông tin hn so vi giá tr lun lý.Ví d : xét

43
token “$” xut hin trong email, nu ta s dng giá tr lun lý, ta không
 c s nghi ng email này là email spam, và nu email này khá dài
thì càng khó kt lun rng nó là spam. Tuy nhiên s dng xác sut, ta có

th bit c kh nng email ó là spam là bao nhiêu,iu này hp lý
n là ch s dng hai giá tr 0 và 1.Vi không gian vector c trng
X
r
,
chúng tôi chn n là s các thuc tính ca
X
r
 th nghim ln lt là 10,
15 và 20. Chn n sao cho không ln quá, nu n ln có kh nng nhng
thuc tính không phi là c trng, nh vy s làm “nhiu “ kh nng
phân loi úng.Ngc li nu chn n quá nh, ta s không có c s
cn thit các thuc tính.
5.1.3 Chn ngng phân loi :
Chúng tôi tin hành th nghim vi giá tr
λ
ln lt là 1, 9 và 999,
nh vy ngng phân loi t xác nh mt email là spam ln lt là 0.5, 0.9,
0.999.
5.1.4 Cách thc hin :
Chúng ta s bt u vi hai kho ng liu email : kho ng liu email
spam và kho ng liu email non-spam. S lng email trong mi kho ng
liu ban u không hn ch. Nu kho ng liu càng ln thì hiu qu lc
email s càng cao. T hai kho ng liu này, chúng tôi phân tích và duyt
qua tt c các token bao gm c phn tiêu  ca email.i vi nhng
email html, chúng tôi thc hin bóc tách các th html  ly ni dung gia
các th.
Sau ó ta tính xác sut spam ca mi token ã c phân tích, xác
sut này chính là xác sut mt email ch cha token ó và là email spam.
Nh vy mu cht ây là ta phi tính ra c xác sut spam ca

mi token. Theo Paulgraham [7], xác sut spam ca mi token c tính
da trên s ln xut hin ca mi token trong mi kho ng liu hc ban
u. Ví d mt token w có s ln xut hin trong kho ng liu spam là s,

44
trong kho ng liu non-spam là n, s email tng cng ca hai kho ng liu
spam và non-spam ln lt là
S
N và
N
N , th thì xác sut spam ca token
w c tính nh sau:
(,)
S
SN
s
N
P X w C spam
sn
NN
===
+
Công thc 5-1
Tuy nhiên, vì s ln xut hin ca mt token trong mi kho ng
liu hc có kh nng vt quá kích thc ca kho ng liu hc ó (tng
s email) do ó, trong công thc trên, thay
S
N
s
bng Min(1,

S
N
s
) và
N
N
n
bng Min(1,
N
N
n
)
Do ó Công thc 5-1vit li nh sau:
(1, )
(,)
(1, ) (1, )
S
S
S
SN
Min
N
P X w C spam
n
Min Min
NN
===
+
công thc 5-2
Theo cách trên thì chúng ta ánh giá kh nng spam ca mt token

xut hin trong mt kho ng liu hc 100 ln  100 email khác nhau là bng
vi kh nng spam ca mt token xut hin trong mt kho ng liu hc 100
ln nhng ch trong mt email
Chúng tôi  xut mt cách tính xác sut spam ca token khác nh
sau: thay vì da vào s ln xut hin ca token trong tng kho ng liu hc,
chúng tôi da vào s email cha token trong tng kho ng liu hc. Công
thc tính nh sau :

45
(,)
S
S
SN
SN
n
N
P X w C spam
nn
NN
===
+
công thc 5-3
Vi :
ü
S
n là s email có cha token trong kho ng liu email spam
ü
N
n là s email có cha token trong kho ng liu email non-
spam

ü
S
N
là tng s email ca kho ng liu hc spam
ü
N
N là tng s email ca kho ng liu hc non-spam
Tuy nhiên, ta nhn thy rng công thc trên ã ánh giá kh nng
spam ca mi token là nh nhau vi token xut hin 1 ln trong 1 email và
token xut hin 100 ln trong 1 email, bi vì  c hai trng hp, ta u ch
tính thêm vào s email cha token là 1 mà thôi
Chúng ta có th kt hp hai cách tính  trên, có th s dng c
nhiu thông tin v token hn. Chúng tôi  xut thêm mt công thc na -
c xem là s kt hp gia hai công thc trên
*
(,)
**
S
S
SN
SN
n
b
N
P X w C spam
nn
bg
NN
===
+

công thc 5-4
Vi
ü
S
n là s email có cha token trong kho ng liu email spam
ü
N
n là s email có cha token trong kho ng liu email non-
spam
ü
S
N là tng s email ca kho ng liu hc spam
ü
N
N là tng s email ca kho ng liu hc non-spam

46
ü b là s ln xut hin ca token trong kho ng liu email
spam
ü g là s ln xut hin ca token trong kho ng liu email non-
spam
Còn i vi các token ch xut hin kho ng liu này mà không
xut hin  kho ng liu kia thì ta không th kt lun rng mt token ch
xut hin  kho ng liu spam thì không bao gi xut hin trong mt
email non-spam, và ngc li. Cách thích hp  ây là ta s gán cho
chúng mt giá tr phù hp [7] Nh vy, vi nhng token ch xut hin
trong kho ng liu email spam thì ta s gán kh nng xác sut spam cho
nó là giá tr N gn vi 1 (chng hn 0.9999 )và ngc li thì gán xác sut
spam là giá tr M gn vi 0 (chng hn 0.0001).
Nh vy ta ã xác nh c xác sut spam ca mt email có chá

mt token nào ó hay xác sut spam ca mt token nh sau:
Tính theo công thc 5-2, ta có :
(1, )
,,
(1, ) (1, )
S
S
S
SN
Min
N
P Max M Min N
n
Min Min
NN






=


+




Công thc 5-5 :công thc tính xác sut spam ca token da trên s ln xut hin

Tính theo công thc 5-3, ta có :
,,
S
S
SN
SN
n
N
P Max M Min N
nn
NN






=


+




Công thc 5-6 :công thc tính xác sut spam ca token da trên s email cha token
Tính theo công thc 5-4

47
*

,,
**
S
S
SN
SN
n
s
N
P Max M Min N
nn
sn
NN






=


+




Công thc 5-7 :ctính xác sut spam ca token da trên s ln xut hin và s email cha nó
Vi :
ü s là s ln xut hin ca token trong kho ng liu hc spam

ü n là s ln xut hin ca token trong kho ng liu hc non-
spam
ü
S
n là s email cha token trong kho ng liu hc spam
ü
N
n
là s email cha token trong kho ng liu hc non-spam
ü
S
N là tng s email cha trong kho ng liu hc spam
ü
N
N là tng s email cha trong kho ng liu hc non-spam
Mt vn  phc tp mà chúng tôi gp phi trong quá trình thc
hin phân loi email da trên thut toán Naïve Bayesian là vic tách
token và tính xác sut spam ca token, bi vì s token là khá ln, ây
chúng tôi s dng cu trúc d liu là bng bm.ng vi mi kho ng liu
email spam và non-spam chúng tôi xây dng mt bng bm tng
ng.Bng bm này s bao gm token và s email cha token hoc s ln
xut hin ca token trong tng kho ng liu tng ng, hoc có thng
thi cha ba thông tin này – tùy theo chúng ta áp dng cách tính xác sut
spam nào cho mi token. Nh vy mi token s có mt giá tr bm (xác
nh bng hàm bm tnh ngha ) tng ng vi v trí trên bng bm 
ta có th truy xut nhanh n phn t token trên bng. Mc ích xây dng
bng bm là  ti u hóa tc  truy xut các token trích t email cng nh
ti u thi gian xác nh mt email là spam hay không. Mi phn t ca
bng bm lu tr token, s ln xut hin (hoc s email có cha token ó ),
hoc xác sut spam ca nó, tùy theo mc ích x lý c th mà mi phn t


48
ca bng bm s mang nhng thông tin khác nhau. Bng bm c mô t
nh sau:
Hình 5-1Mô t cu trúc bng bm
Sau khi có 2 bng bm tng ng vi hai kho ng liu email, ta s
xây dng bng bm th ba. Mi phn t trong bng bm này s lu nhng
thông tin gm: token và kh nng (xác sut) spam ca token.Tuy nhiên 
vic thc hin tin li và không phi xét quá nhiu token, chúng tôi ch
xem xét nhng token mà s ln xut hin ca nó hoc s email cha nó
trong c s d hc ban u ln hn mt ngng nào ó, vi nhng token
mà tng s ln xut hin hoc tng s email cha nó nh hn ngng này,
chúng tôi không tính xác sut cho token ó. u này là hp lý bi vì
nhng token có tng s ln xut hin ( hoc tng s email cha nó quá ít
thì cng không áng  xem xét n, do ó s giúp gim bt s token cn
tính xác sut cng nh dung lng lu tr cho d liu  bng bm th ba
này.ây chúng tôi th nghim ln lt hai ngng 3 và 5, kt qu thc
hin  hai ngng này gn nh là tng ng nhau, cui cùng chúng tôi
chn giá tr 3.
Theo Paulgraham [7] thì chúng ta cn hn ch loi li false positive
(nhn email non-spam thành email spam ), do ó s ln xut hin ca
các token hoc s email cha token trong kho ng liu non-spam sc

49
nhân vi mt trng s W,iu này giúp phân bit c gia nhng token
thnh thong xut hin trong các email hp l vi nhng token hu nh
không xut hin, chúng tôi th nghim ln lt vi hai giá tr 1 và 2.
Ví d thông tin bng bm th 3:
Token: Kh nng spam :
madam 0.99

promotion 0.99
republic 0.99
shortest 0.047225013
mandatory 0.047225013
standardization 0.07347802
Cách tính xác sut spam cho mi token c thc hin theo các
công thc nhã nói  trên.
Cui cùng  xác nh mt email mi n có phi là spam không
thì chúng tôi trích ra n token  trong email ó.Cách chn mu tp thuc
tính  xét thông thng là chn ra n token mt cách ngu nhiên, tuy
nhiên nhn thy rng nhng token trung tính ( kh nng spam là 0.4-0.6
thì không có tác dng lm trong vic nhn dng email spam ) nên ta chn
n token này vi nh hng là chn nhng token c trng cho mt email
spam và email non-spam, chúng tôi chn nhng token có kh nng spam
cao nht và thp nht. Nh vy chúng tôi chn n token có khong cách
gia xác sut spam ca chúng vi giá tr trung tính 0.5 là cao nht Chúng
ta gi giá tr này là giá tr “c trng”. Nh vy ta s chn c nhng
token hoc là có kh nng spam cao nht (xác sut spam cao nht ) hoc là
nhng token có kh nng non-spam cao nht ( xác sut spam thp nht ).
Nu có k (k

2) token có cùng giá tr “c trng “, bi vì kh nng xut
hin ca k token này ngang nhau, do ó hoàn toàn không mt tính tng
quát, chúng tôi chn token u tiên trong k token có cùng giá tr “ c
trng “này. Sau khi chn c n token này chúng tôi s tra trong bng

50
m th 3 ( lu token và kh nng spam ca nó)  ly ra kh nng spam
riêng ca mi token. Nu không tìm thy kh nng spam riêng cho token
trong bng bm,có ngha là token này là mi – cha có trong c s d liu

token ca ta.Mt token cha tng xut hin trong kho ng liu hc thì kh
ng spam ca nó tng i thp [7], chúng tôi ly giá tr trung tính 0.4.
Tó chúng tôi tính kh nng tng hp mt email cha n token này là
spam.
Cách tính kh nng tng hp :chúng tôi da vào Công thc 4-7
{ }
i1
,
1
().( |)
(|)
().( |)
n
ii
n
ii
k spam non spam
i
PCc PX xCc
PCcXx
PCk PX xCk
=
∈−
=
= ==
= ==
= ==




uurr
Th thì xác sut spam tng hp ca mt email Cc xét là :
}
{
1
,1
( )( |)
( |)
().( |)
n
ii
i
n
ii
k spam non spam i
P C spam P X x C c
P C spam X x
PCk PX xCk
=
∈−=
= ==
= ==
= ==



uurr
Ví d
Token
: Xác sut (Probability):

madam 0.99
promotion 0.99
shorstest 0.047225013
Xác sut mt email là Spam là :0.6
à Kh nng kt hp
0.99*0.99*0.047225013*0.6
0.6*0.99*0.99*0.047225013 (1-0.6)*(1-0.
99)(1-0.99)(1-0.047225013)
=
+
Sau khi có kh nng tng hp, chúng tôi so sánh vi các giá tr
ngng ( ã nói  mc 4.3.1)  phân loi email spam hay non-spam, nu
xác sut spam tng hp ca email ln hn ngng t chúng tôi kt luân
email ó là spam, ngc li email ó là non-spam.

51
5.2 Th nghim hiu qu phân loi
5.2.1 Th nghim vi kho ng liu pu:
Bi vì kho ng liu hc và kim th là s, do ó chúng tôi thay i v
cách ly token, ây chúng tôi xem token là các con s, và du hiu tách
token là các khong trng.
5.2.1.1 Kch bn kim th :
Chúng tôi th nghim nhân trng s non-spam W vi 1 và 2
Vi mi W, chúng tôi th nghim vi
λ
ln lt vi các giá tr 1, 9,
và 999
ng ng vi mi giá tr
λ
và W chúng tôi thc hin tính xác sut

spam theo các công thc :Công thc 5-5, Công thc 5-6 và Công thc 5-7
S token c ly ln lt là 10, 15, 20
Chúng tôi kim tra vi các kho ng liu pu1, pu2, pu3 và puA
ng ng vi mi kho ng liu trên chúng tôi cho hc t part1
n part 9, sau ó chúng tôi th nghim phân loi trên part10, cha
nhng email cha c hc.
5.2.1.2 Kt qu th nghim vi kho ng liu pu :
Kt qu thc hin: chúng tôi trình bày kt qu thc hin vi trng
hp nhân trng s non-spam W=2, kt qu chi tit vi W=1 xin xem
phn ph lc.

52
v Kt qu kim th trên PU1:
Công thc 5-5 Công thc 5-6 Công thc 5-7
λ
10 15 20 10 15 20 10 15 20
1 S 44 45 45 45 45 44 46 46 47
N 4 3 3 3 3 4 2 2 1
N 61 61 61 61 61 61 61 61 61
S 0 0 0 0 0 0 0 0 0
SR 91.67% 93.75% 93.75% 93.75% 93.75% 91.67% 95.83% 95.83% 97.92%
SP 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00%
TCR 12 16 16 16 16 12 24 24 48
9 S 44 45 45 44 44 44 45 46 47
N 4 3 3 4 4 4 3 2 1
N 61 61 61 61 61 61 61 61 61
S 0 0 0 0 0 0 0 0 0
SR 91.67% 93.75% 93.75% 91.67% 91.67% 91.67% 93.75% 95.83% 97.92%
SP 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00%
TCR 12 16 16 12 12 12 16 24 48

999 S 43 43 43 43 43 43 45 45 47
N 5 5 5 5 5 5 3 3 1
N 61 61 61 61 61 61 61 61 61
S 0 0 0 0 0 0 0 0 0
SR 89.58% 89.58% 89.58% 89.58% 89.58% 89.58% 93.75% 93.75% 97.92%
SP 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 100.00%
TCR 9.6 9.6 9.6 9.6 9.6 9.6 16 16 48
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

53
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
λ=
)
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
λ=
)

54
v Kt qu kim th trên PU2:
Công thc 5-5 Công thc 5-6 Công thc 5-7
λ
10
15 20
10 15
20

10 15 20
1SS
7
8 9
7
888
9
5
N
7
6 5
7
666
5
9
N
57
57 57
57 57
57
57 57 57
S
0
0 0
0
000
0
0
SR
50.00%

57.14% 64.29%
50.00% 57.14%
57.14% 57.14%
64.29%
35.71%
SP
100.00%
100.00% 100.00%
100.00% 100.00%
100.00%
100.00% 100.00% 100.00%
TCR
2
2.333333 2.8
2
2.3333332.3333332.333333
2.8
1.555556
9SS
7
8 8
7
888
8
5
N
7
6 6
7
566

6
9
N
57
57 57
57 57
57
57 57 57
S
0
0 0
0
000
0
0
SR
50.00%
57.14% 57.14%
50.00% 61.54%
57.14% 57.14%
57.14%
35.71%
SP
100.00%
100.00% 100.00%
100.00% 100.00%
100.00%
100.00% 100.00% 100.00%
TCR
2

2.3333332.333333
2 2.6
2.3333332.333333
2.333333
1.555556
999SS
7
8 8
7
678
5
5
N
7
6 6
7
876
9
9
N
57
57 57
57 57
57
57 57 57
S
0
0 0
0
000

0
0
SR
50.00%
57.14% 57.14%
50.00% 42.86%
50.00% 57.14%
35.71%
35.71%
SP
100.00%
100.00% 100.00%
100.00% 100.00%
100.00%
100.00% 100.00% 100.00%
TCR
2
2.3333332.333333
2 1.75
22.333333
1.555556
1.555556
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

55
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
λ=

)
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
λ=
)

56
v Kt qu kim th trên PU3:
Công thc 5-5 Công thc 5-6 Công thc 5-7
λ
10
15 20
101520101520
1SS 169 168 168 167
169
165
165
172 170
N
13
14 14
151317171012
N 228 228 227 228
228
229
226
222 224
S 3343
3

2
5
9
7
SR 92.86% 92.31% 92.31%
91.76% 92.86%
90.66%
90.66%
94.51%
93.41%
SP 98.26% 98.25% 97.67%
98.24% 98.26%
98.80%
97.06%
95.03%
96.05%
TCR 11.37510.7058810.1111110.11111
11.375
9.578947
8.272727
9.578947
9.578947
9SS 167 168 168 164
166
163
165
171 170
N
15
14 14

181619171112
N 229 228 227 228
229
229
227
222 225
S 2343
2
2
4
9
6
SR 91.76% 92.31% 92.31%
90.11% 91.21%
89.56%
90.66%
93.96%
93.41%
SP 98.82% 98.25% 97.67%
98.20% 98.81%
98.79%
97.63%
95.00%
96.59%
TCR 5.5151524.439024 3.644.044444
5.352941
4.918919
3.433962
1.978261
2.757576

999SS 163 163 165 160
156
156
163
168 169
N
19
19 17
222626191413
N 229 229 229 229
229
229
227
225 225
S 2222
2
2
4
6
6
SR 89.56% 89.56% 90.66%
87.91% 85.71%
85.71%
89.56%
92.31%
92.86%
SP 98.79% 98.79% 98.80%
98.77% 98.73%
98.73% 97
.60%

96.55%
96.57%
TCR 0.0902330.0902330.0903230.090099
0.089921
0.089921 0.045330.030293
0.030298
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

57
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
λ=
)
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
λ=
)

58
v t qu kim th trên PUA:
Công thc 5-5 Công thc 5-6 Công thc 5-7
λ
10 15 20 10 15 20 10 15 20
1 S 46 46 46 43 42 41 50 48 46
N 11 11 11 14 15 16 7 9 11
N 57 56 57 57 57 57 56 56 57
S 0 1 0 0 0 0 1 1 0

SR 80.70% 80.70% 80.70% 75.44% 73.68% 71.93% 87.72% 84.21% 80.70%
SP 100.00% 97.87% 100.00% 100.00% 100.00% 100.00% 98.04% 97.96% 100.00%
TCR 5.181818 4.75 5.181818 4.071429 3.8 3.5625 7.125 5.7 5.181818
9 S 46 46 45 42 41 38 49 46 45
N 11 11 12 15 16 19 8 11 12
N 57 56 57 57 57 57 56 55 57
S 0 1 0 0 0 0 1 2 0
SR 80.70% 80.70% 78.95% 73.68% 71.93% 66.67% 85.96% 80.70% 78.95%
SP 100.00% 97.87% 100.00% 100.00% 100.00% 100.00% 98.00% 95.83% 100.00%
TCR 5.181818 2.85 4.75 3.8 3.5625 3 3.352941 1.965517 4.75
999 S 43 43 42 41 37 35 47 45 44
N 14 14 15 16 20 2 10 12 13
N 57 57 57 57 57 57 56 57 57
S 0 0 0 0 0 0 1 0 0
SR 75.44% 75.44% 73.68% 71.93% 64.91% 94.59% 82.46% 78.95% 77.19%
SP 100.00% 100.00% 100.00% 100.00% 100.00% 100.00% 97.92% 100.00% 100.00%
TCR 4.071429 4.071429 3.8 3.5625 2.85 18.5 0.056492 4.75 4.384615
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

59
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
λ=
)
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
λ=

)

60
Nhn xét :kt qu kim th trên các kho ng liu PU là khá tt, hiu
qu phân loi gia các công thc là không quá khác bit, vi cách chn
9
λ=

1
λ=
hiu qu hn vi
999
λ=
, theo chúng tôi thì kho ng liu
không ln lm nên s dng
999
λ=
thì không hiu qu bng. V cách chn
s token, hiu qu phân loi khi chn s token là 10, 15 hay 20 cng không
khác bit lm.
5.2.2 Th nghim vi kho ng liu email ch :
5.2.2.1 Kch bn kim th :
Sau khi ã th nghim vi kho ng liu s, chúng tôi chn mt b
(
λ
, n, W)  kim th vi kho ng liu email ch.
Chúng tôi th nghim vi b d liu
λ
= 9, s token là 15, trng s
non-spam là 2.

Ng liu hc và kim thây gm ng liu email là email vn bn
trn (text/plain), và ng liu email html. Ng liu email vn bn trn có s
email dùng  hun luyn là :517 email non-spam, 528 email spam. Ng
liu dung  kim th gm 98 email spam, 100 email non-spam. Ng liu
email html có s email dùng  hun luyn là 141 email non-spam, 155
email spam, s email dung  kim th là 50 email spam, 50 email non-
spam.
5.2.2.2 Kt qu kim th :
Ng liu email vn bn trn:
• Ng liu hc :s email spam :517, s email non-
spam:528
• Ng liu kim th :s email spam :98, s email non-
spam :100
Ng liu email html, s email kim th :Spam =50, non-spam=50

61
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
Kt qu thc hin vi ng liu email vn bn (text/plain) khá tt, các ch
s spam recall, spam precision khá cao, tuy nhiên thc hin vi kho ng
liu email html thì ch s spam recall không c cao trong khi ch s
spam precision vn tt. Kt qu này mt phn vì kho ng liu email html
ca chúng tôi không c ln lm, s lng email html dùng hun
luyn ng i ít. Email html có c m là ni dung ca nó hu ht là
các th html, nhng th html này không cung cp c nhiu thông tin
trong vic phân lai, ni dung ch tht s tng i ít, u này cng nh
ng n kt qu thc hin ca thut tóan Naïve Bayesian
5.3 u  nhc m ca phng pháp phân loi Naïve
Bayesian:
5.3.1 u m :

• Mt u im ca b lc Bayes là nó cho phép hc spam. Ngha là, khi có
mt email spam vt qua c b lc thì ngi dùng có thánh du
spam cho email ó và b lc s t phân tích email spam ó và cp nht
thêm vào kho ng liu spam.
• Hiu qu phân loi là khá cao
Công thc 5-5 Công thc 5-6 Công thc 5-7
TEXT S 96 94 96
N 2 4 2
N 99 99 99
S 1 1 1
SR 97.96% 95.92% 97.96%
SP 98.97% 98.95% 98.97%
TCR 32.66667 19.6 32.66667
HTML SS 32 24 23
N 18 26 27
N 50 50 50
S 0 0 0
SR 64.00% 48.00% 46.00%
SP 100.00% 100.00% 100.00%
TCR 2.777778 1.923077 1.851852

×