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

36 416 0
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 và () 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 Mà ( |)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 λ λ = + và 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: “http://www.27meg.com/foo ” 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 [...]... 1 72 170 N 13 14 14 15 13 17 17 10 12 N 22 8 22 8 22 7 22 8 22 8 22 9 22 6 22 2 22 4 S 3 3 4 3 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.3759.5789478 .27 2 727 9.5789479.578947 9S S 167 168 168 164 166 163 165 171 170 N 15 14 14 18 16 19 17 11 12 N 22 9 22 8 22 7 22 8 22 9 22 9 22 7 22 2... 22 8 22 7 22 8 22 9 22 9 22 7 22 2 22 5 S 2 3 4 3 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.5151 524 .439 024 3.644.0444445.3 529 414.9189193.4339 621 .97 826 12. 757576 999S S 163 163 165 160 156 156 163 168 169 N 19 19 17 22 26 26 19 14 13 N 22 9 22 9 22 9 22 9 22 9 22 9 22 7 22 5 22 5 S 2 2 2 2 2 2 4 6 6 SR 89.56% 89.56%... (text/plain), và ng li u email html Ng li u email v n b n tr n có s email dùng li u dung hu n luy n là :517 email non-spam, 528 email spam Ng ki m th g m 98 email spam, 100 email non-spam Ng li u email html có s email dùng email spam, s email dung hu n luy n là 141 email non-spam, 155 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 nonspam: 528 • Ng li u ki m th :s email spam :98, s email nonspam :100 Ng li u email html, s email ki m th :Spam =50, non-spam=50 60 S Công th c 5-5 Công th c 5-6 Công th c 5-7 96 94 96 N 2 4 2 N S 99 1 99 1 99 1 SR SP 97.96% 98.97% 95. 92% 98.95% 97.96% 98.97% TEXT TCR 32. 66667 19.6 32. 66667 S S N 32 18 24 26 23 27 N S HTML 50 0 50 0 50 0 SR 64.00% 48.00% 46.00% SP TCR 100.00% 2. 777778... 100.00% TCR 22 .33333 32. 333333 2 2. 62. 33333 32. 33333 32. 3333331.555556 999S S 7 8 8 7 6 7 8 5 5 N 7 6 6 7 8 7 6 9 9 N 57 57 57 57 57 57 57 57 57 S 0 0 0 0 0 0 0 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 22 .33333 32. 333333 2 1.75 22 .3333331.5555561.555556 ng 5 -2 K t qu ki m th phân l ai email b ng ph... 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 email ó là spam, ng c l i email ó là non-spam 50 ng t chúng tôi k t luân 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 cách l y token, iv ây chúng tôi xem token là các con s , và d u hi u... 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. .. th c 5-7 (λ = 9 ) 53 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 8 8 8 9 5 N 7 6 5 7 6 6 6 5 9 N 57 57 57 57 57 57 57 57 57 S 0 0 0 0 0 0 0 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 22 .333333 2. 8 22 .33333 32. 33333 32. 333333 2. 81.555556... 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.09 023 30.09 023 30.090 323 0.0900990.089 921 0.089 921 0.045330.03 029 30.03 029 8 ng 5-3 K t qu ki m th phân l ai email b ng ph kho ng li u PU3 56 ng pháp phân l ai Naïve Bayesian trên 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 ( λ... 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 cl yl nl 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 . 5.5151 524 .439 024 3.644.044444 5.3 529 41 4.918919 3.4339 62 1.97 826 1 2. 757576 999SS 163 163 165 160 156 156 163 168 169 N 19 19 17 22 2 626 191413 N 22 9 22 9 22 9 22 9 22 9 22 9 22 7 22 5 22 5 S 22 22 2 2 4 6 6 SR. 15 14 14 1816191711 12 N 22 9 22 8 22 7 22 8 22 9 22 9 22 7 22 2 22 5 S 23 43 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. thc 5-5 Công thc 5-6 Công thc 5-7 λ 10 15 20 101 520 101 520 1SS 169 168 168 167 169 165 165 1 72 170 N 13 14 14 1513171710 12 N 22 8 22 8 22 7 22 8 22 8 22 9 22 6 22 2 22 4 S 3343 3 2 5 9 7 SR 92. 86%

Ngày đăng: 12/08/2014, 10:20

Tài liệu cùng người dùng

Tài liệu liên quan