Upload
jed
View
74
Download
6
Embed Size (px)
DESCRIPTION
اسپم و فیلترکردن عمومی آن با استفاده از روش Naïve Bayesian. احسان ضمیری استاد راهنما: آقای دکتر کاهانی دانشگاه فردوسی مشهد. رئوس مطالب. مروری بر پدیده اسپم روشهای مبتنی بر یادگیری برای فیلترکردن اسپم ها روش Naïve Bayesian برای فیلترکردن اسپم معیارهای ارزیابی بررسی نتایج. - PowerPoint PPT Presentation
Citation preview
اسپم و فیلترکردن عمومی آن با استفاده از Naïve Bayesianروش
احسان ضمیری
استاد راهنما: آقای دکتر کاهانی
دانشگاه فردوسی مشهد
رئوس مطالب
مروری بر پدیده اسپم•روشهای مبتنی بر یادگیری برای فیلترکردن •
اسپم ها برای فیلترکردن اسپمNaïve Bayesianروش •معیارهای ارزیابی•بررسی نتایج•
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 2
•Spam/junk/bulk Emails پیغامهایی درInbox و زمانی نخواسته شما هستند که شما آن ها را
را برای بیرون انداختن آنها صرف می کنید. در مقابل آن : نامه های الکترونیکی معتبر یاham75-80%های الکترونیکی را اسپم از حجم نامه ( هاspam تشکیل )
دهند می باعث ایجاد ترافیک شده و فضای حافظه و قدرت محاسباتی را از
بین می بردباعث ضرر اقتصادی
وارد ساخته2005 میلیون دالر بر اقتصاد امریکا در سال 50هزینه ای بالغ بر
با توجه به شخص و سازمان گیرنده ایمیل، اسپم ها تعریف می گردند ایمیل های در حوزه هنر برای شخصی که عالقه ای به هنر ندارد اسپم تلقی
می شود
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 3
ایمیل های اسپم
• Subject: AWARD CONFIRMATION
We wish to congratulate you over your email success in our computer BALLOTING SWEEPSTAKE held on 16th Nov, 2007. This is a millennium scientific computer game in which email addresses were used. It is a promotional program aimed at encouraging internet users; therefore you do not need to buy ticket to enter for it.
• “ You have won!!!!“, you are almost winner of $...• “Your order”, your item$ have to be $hipped• “Lose your weight”, no subscription required• “Assistance required”, an amount of million 25
US$
• “Download it”, free celebrity wallpapers download اسپم و فیلترکردن آن با استفاده از روشNaïve Bayesian 4
نمونه هایی از ایمیل های اسپم
استاهداف اقتصادی بیشتر به منظور •تبلیغ برای یک کاالی خاص، سرویس خاص و یا یک ایده خاص• فریب کاربران برای استفاده از اطالعات محرمانه آنها •
phishing
� ویروس(• انتقال یک نرم افزار خرابکار به کامیپوتر کاربر )مثالMail-Serverایجاد یک خرابی به صورت موقتی در •
ایجاد ترافیک•پخش مطالب غیراخالقی•
اسپم ها دائما در حال تغییر محتوا و شکل هستند، برای اینکهتوسط آنتی اسپم ها شناسایی نشوند.
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 5
برخی از اهداف ایمیل های اسپم
روشهای اقتصادی • دریافت وجه برای ارسال ایمیل : مانند پروتکلZmail
روشهای قانون گذاری مانند قانونUS-CAN SPAM
امن سازی بسترانتقال ایمیل مثل( تغییر پروتکلهای انتقال ایمیلSMTP و ارانه پروتکل های جایگزین مانند )
SenderId
کنترل ایمیل های خروجی در برابر کنترل ایمیل های ورودی
فیلترینگ ایمیل ها
Naïveاسپم و فیلترکردن عمومی آن با استفاده از روش Bayesian
6
تکنیک های مبارزه با اسپم ها و کنترل آنها
- فیلترینگ براساس یکسری قاعده از پیش تعریف شده:1— if $SENDER$ contains “schacht” $ACTION$=$INBOX$ [HAM]— if $SUBJECT$ contains “Win” $ACTION$=$DELETE$ [SPAM]— if $BODY$ contains “%%Money%%” $ACTION$=$DELETE$ [SPAM]
مشکالت: قوانین ثابت، وابستگی به زبان، چه تعداد قانون؟، چه کسی باید قوانین را تعریف
کند
Black list-white)- فیلترینگ براساس لیست سیاه و سفید 2list)
3 فیلترینگ مبتنی بر یادگیری )آماری( و با استفاده از -ویژگیهای پیغامها
از (Classification)در یادگیری ماشینی برای عمل دسته بندی •)داده نمونه داده هایی )ایمیل هایی( که از قبل فراهم شده است
و هر یک دسته)کالس،برچسب( مشخص (trainingآموزش یا را )تست(دارد، استفاده کرده و دسته)کالس( یک نمونه جدید
تعیین می کنیم.
حاصل آموزش دسته بند با استفاده از یک θ) ویژگی ها( بردار پارامترها•� جمع آوری شده است مجموعه داده است که قبال
می باشد (Training)نیز تابع آموزش •
یک ایمیل جدید است و دسته آن را می ’m: تست داده جدید•?(spam or ham)خواهیم
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 7
فیلترینگ مبتنی بر یادگیری )آماری( و با استفاده از ویژگیهای پیغامها
},{y
,),),...(,(
i
11
legspam
nn
cc
ymymM
M: (training Data)مجموعه داده آموزش
دو نوع کالس)برچسب( : اسپم و ایمیل (ham)معتبر
)(M
Offilneیادگیری •داده های آموزش با کالس)برچسب( مشخص، قبال جمع آوری شده –
است و ما در طی دسته بندی از همین داده های ثابت استفاده می کنیم
•<email type=“HAM_email”>Soha! sorry cannot reach at 18:00</email>
•<email type=“spam”>hi, have you thought online credit?</email>
•....
Onlineیادگیری •کاربر طبقه بندی های غلط دسته بند را تصحیح می کند و برچسب –
صحیح را معین می کند؛ به این ترتیب حجم داده آموزش به تدریج افزوده می شود و دانش دسته بند افزایش می یابد
not“و یا ”spam“می توان بر روی !Yahooمثال: در سرویس ایمیل •spam” کلیک کرد و بدین ترتیبYahoo! از کاربرFeedbackمی گیرد
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 8
متدهای یادگیری
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 9
Online: Yahoo Mailیادگیری
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 10
شمای کلی مدل
testtraining
Feature Selectionانتخاب ویژگی (x2)
classify
Evaluate
Ham?Spam?
ویژگیهای به صورت
لغت(Tokenization
)
ویژگی های
وابسته به دامنه
ویژگیها ی به صورت عبارات دست ساخته
استخراج ویژگی هاFeature Extraction
( Classifier)دسته بند
test
مراحل:•داده های آموزش شامل ایمیل های برچسب خورده–Ham و Spamدو کالس مشخص: –استخراج ویژگی ها–
اگر، if,and)مثل Stopwordsحذف تشخیص کلمات توکن بندی متن •حذف عالمات نقطه گذاری (Stemming) ریشه یابی کلمات به، با،...(
ویژگیهای به صورت لغت مثل ؛ ، ....$$Money$$مثلعبارات دست ساخته که متمایز کننده می باشند •، تاریخ ارسال پیام، اندازه پیام، To، Fromمثل ویژگی های مشخصه دامنه •
...
Feature Selectionانتخاب ویژگی های برتر : –دسته بندی ایمیل به عنوان اسپم و یا ایمیل معتبر–
دسته با احتمال بیشتر = برچسب کالس•(Precision/Recall)ارزیابی نتایج –
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 11
مراحل مدل
این ویژگی ها نشانه هایی برای دسته بندی یک پیغام •به اسپم و یا ایمیل معتبر است
ویژگی های یک ایمیل•کلمات )توکن ها( –
•free, win, online, weight, fortune, offer ...،
عبارات–• “Free”, “only$”, “order now”!...،
کاراکترهای خاص–• $pecial, grea8, 4u...،
)وابسته به دامنه(ایمیل سرآیند– نام فرستنده، آدرس ایمیل فرستنده و گیرنده، نام دامنه •
IP(، آدرس های edu، .ir، .com.)مثل
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 12
ویژگی)مشخصه( های یک پیام الکترونیکی
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 13
ماتریس بردار ویژگی ها )با مقادیر باینری(
Email# “online” “XXXX” “$money$” “Order now!!!” “offer” …. “win” SPAM?
1 1 0 1 1 0 … 1 YES
2 1 1 0 1 1 … 0 YES
3 1 0 0 0 1 … 0 NO
4 0 1 0 1 1 … 1 YES
5 0 0 1 1 1 … 0 NO
….. … … … … … … … …
500 0 1 1 1 0 … 0 NO
ویژگی ها
کلمات و عبارات همان ویژگی ها هستند، اگر در آن سند/ایمیل موجود بوده1باشند ، مقدارشان برابر
و اگر در آن سند/ایمیل موجود نباشند مقدارشان برابر صفر خواهد بود
برای ما کلماتی ارزش دارد که بتوانیم با استفاده از •آنها دسته ها )اسپم و ایمیل معتبر( را تشخیص دهیم
خاصیت تمایز در تشخیص دسته ایجاد X2در جدول باال ویژگی •کرده است و وبنابراین یک ویژگی ایده آل است.
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 14
(Feature Selection) انتخاب ویژگی ها
X1 X2 X150 Spam?
#1 0 1 … 1 1
#2 1 1 … 1 1
#3 1 0 … 1 0
#4 0 1 … 0 1
… … … … …
#500 0 0 … 1 0
ویژگیایمیل
به انتخاب ویژگی ها وابسته است classificationتا حد زیادی کیفیت • ارائه شده استMI براساس MST و PILالگوریتم های خوبی چون • hill climbingانتخاب و یژگی ها با الگوریتم های ژنتیک و یا • بهترین روشهایی هتند که کلمات پرمعنا را به ما می دهند.IG و 2روش خی-•
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 15
(ادامهانتخاب ویژگی ها ) ʳ ËÁ[ Zzf¿Y Á� � � µÂ»§�
Document Frequency
(DF) jijj m in occures f and Mm m
Information Gain (IG)
},{ },{ )(ˆ).(ˆ),(ˆ
log),(ˆ
legspam iiccc fff cPfP
cfPcfP
2
)(ˆ)(ˆ)(ˆ)(ˆ
),(ˆ),(ˆ),(ˆ),(ˆ 2
legspamii
spamilegilegispami
cPcPfPfP
cfPcfPcfPcfPM
Mutual Information (MI) )(ˆ)(ˆ
),(ˆ.log
ispam
spami
fPcP
cfPM
Naïve Bayesian
•K( نزدیک ترین همسایه -k-NN)
•SVM )Support Vector Machine( توسط یک ابرصفحه کالسها از هم جدا می شوند: برای وقتی که تنها دو –
کالس داریم
(TF-IDFفرکانس کلمه – فرکانس معکوس سند )• Term Frequency- Inverse Document Frequency
درخت های تصمیم گیری•–C4.5
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 16
برخی از الگوریتم های مبتنی بر یادگیری برای دسته بندی ایمیل ها
iijij df
ntfw log
)P)B | A( = P)A|B( * P)B( / P)Aاحتمال شرطی : •
•X={x1, x2, x3, x4…xn} بردار ویژگی ها می باشد ,”X={“online”, “creditمجموعه ویژگی ها: –
“now!!!”…”Zinc”}
• C={c1, c2, c3, c4…ck} مجموعه کالسها. C={“SPAM”, “LEGITIMATE”} در اینجا دو کالس داریم:–
ساده ترین روش برای محاسبه فرمول احتمال بیزین این •بصورت شرطی Xiاست که فرض کنیم که هر ویژگی
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش مستقل از سایر ویژگی هاست 17
Naïve فیلتر کردن اسپم با استفاده از دسته بند Bayesian
x
xx
X
|XX|
P
cCPcCPcCP kk
k
: فرض استقالل•• nتعداد ویژگی ها =
هر کالس )اسپم و یا ایمیل معتبر( که این مقدار احتمالی به ازای •آن بزرگتر باشد، برچسب آن ایمیل خواهد بود.
برای مقایسه مقدار کالس اسپم با کالس »ایمیل معتبر« نیازی به •محاسبه مخرج کسر فوق نیست چراکه این مقدار برای هر کالس
یکسان استNaïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 18
Naïveفیلتر کردن اسپم با استفاده از دسته بند Bayesian)ادامه(
i
kiik cCxXPcCP ||X x
},{ 1
1
)|(.C
|.
X|
hamspamj
n
ijiij
n
ikiik
k
cCxXPcP
cCxXPcCP
cCP x
•False Psitive شامل ایمیل هایی می شود که به اشتباه جزو اسپم ها دسته بندی میگردند. :
•False Negative هم شامل ایمیل هایی می شود که به اشتباه جزو ایمیل های معتبردسته بندی می شوند.:
!!! طبقه بندی اشتباه یک ایمیل معتبر به عنوان اسپم نسبت به طبقه بندی اشتباه یک اسپم به •عنوان ایمیل درست، هزینه بد بیشتری در بردارد!
بار بدتر از هزینه باشد، آنگاه زمانی یک ایمیل را جزو اسپم ها λاگر هزینه •طبقه بندی می کنیم که
با فرض داریم •
گرفته شده است. 0/999 برابر tاینجا در برابر است با . t که
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 19
طبقه بندی به عنوان اسپم
SL
LS
SL LS
)|(
)|(
xXCCP
xXCCP
leg
spam
)|(1)|( xXCCPxXCCP legspam
txXCCP spam )|(
1
t
برای کاهش ابعاد ویژگی/داده استفاده شده است feature selectionاز • هم استفاده کرد feature transformingبعضی اوقات می توان از •
–LSI & SVD
ایمیل بیهوده و 1578از ایمیلهای واقعی : شامل (corpus)یک انبوه داده• عدد برای 251 داده برای آموزش فیلتر و 1538 ایمیل معتبر 211تست
ویژگیهای گرفته شده از توکن های متن•( حذف شدندcorpus در کل 3توکن های نادر )با رخداد کمتر از – ویژگی عبارتی اضافه شدند35– ویژگی غیر متنی و وابسته به دامنه اضافه شدند20–تعداد کاراکترهای غیر الفبایی در عنوان ایمیل به عنوان ویژگی مفیدی شناسایی شد–انتخاب شد Mutual Information ویژگی برتر با استفاده از 500–
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 20
آزمایش
•Spam Precision درصدی از ایمیلهای طبقه بندی شده به عنوان اسپم :که در واقع اسپم هستند.
•Spam Recall درصدی از کل ایمیل های اسپم واقعی که توسط دسته :بند به عنوان اسپم طبقه بندی شده اند.
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 21
معیارهای ارزیابی
ZÌ »� µÂ»§�
d»{ (Accuracy) SSLSSLLL
SSLL
nnnn
nn
Z yw ¿� �(Error Rate) SSLSSLLL
LSSL
nnnn
nn
w¿� False Positive SLLL
SL
nn
n
Spam(Junk) Recall SSLS
SS
nn
n
Spam(Junk) Precision SSSL
SS
nn
n
¶ ÄÀË Åd^¿� �TCR (Total Cost Ratio) LSSL
SSLS
nn
nn
ÊÀvÀ« ROC w¿� True positive ]Y] {� � �False positive
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 22
نتایج
ایده آل Precision/Recall یک نمودار •
ویژگیها ) عنوان به کلمات ) فقط
ویژگیها ) عنوان به عبارات و ) کلمات
عنوان- ) به دامنه به وابسته صفات و عبارات کلمات) ویژگیها
Recall / Precisionنمودار 3ها با برای اسپم
متفاوت از مجموعهویژگیها
با استفاده از مجموعه ویژگی (Classification)بندی نتایج دسته •های متفاوت
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 23
)ادامه( نتایج
f »¶Ì¼ËY� ºb Y�
Recall Precision Recall Precision ZÆ̳ ËÁÄ Â¼n»� �
%4/93 %7/87 %3/94 %1/97 c Z¼ ¬§�
%7/94 %8/87 %3/94 %6/97 c Z¼+c Z� �Ύϫ
%100 %2/96 %3/98 %100 ZÆeZ� �+c Z¼+Äf ]YÁÉZÆ̳ ËÁ� �ÄÀ»Y{Ä]
نقاط قوت•کل پیغام را در نظر می گیرد. این متد عالوه بر اینکه کلمات کلیدی Bayesianمتد 1(
که معرف و مرتبط با اسپم هستند را شناسایی می کند، بلکه کلمات معرف ایمیل کلمات در کنارهم تأثیر Bayesian در متد های معتبر را نیز شناسایی می کند.
یکدیگر را )در نتیجه نهایی فیلتر اسپم( متعادل می کنند؛ به بیانی دیگر فیلتر Bayesian بر روی کلمات کلیدی تکیه نمی کند به طوریکه به خاطر یک کلمه
خاص، یک پیغام را جزو اسپم ها طبقه بندی کند، بلکه تمامی کلمات و تمامی ویژگی های پیغام را در نظر می گیرد.
با یادگیری مستمر از اسپم های جدید و ایمیل های معتبر Bayesianیک فیلتر 2(� Bayesianجدید، به طور ثابت خود را با آخرین تغییرات وفق می دهد. فیلتر دائما
در حال تحول است و خود را با تکنیک های جدید اسپم هماهنگ می سازد. از ”Free“که فرستادگان اسپم برای فریب دادن راهکار´ »بررسی کلمات کلیدی« به جای هنگامی1(
“F-r-e-e” استفاده کردند، بالفاصله پس از افزودن “F-r-e-e” ،به پایگاه داده کلمات کلیدی راهکارشان خنثی شد
روشی است که قابل اعمال به هر زبانی می باشد. فیلتر اسپم Bayesianروش 3(Bayesianقابل انطباق با هر زبان و نوشتاری می باشد � کامال
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 24
Naïve نقاط قوت وضعف دسته بند Bayesian
حساس به کاربر و داده های اوست. فیلتر از Bayesianتکنیک فیلتر 4(ایمیل های کاربر )و یا شرکت( یاد می گیرد که در مورد کاربر، بیشتر چه
مطالبی به عنوان ایمیل رد و بدل می گردد.به عنوان مثال اگر شرکت )یا فرد( یک شرکت دالل اتومبیل باشد، آنگاه •
به عنوان نشانه ای برای یک اسپم تلقی می گردد، در ”mortgage“کلمه حالی که اگر شرکت )یا فرد( یک شرکتی باشد که طرف قراردادش سازمان
وام دهنده مسکن باشند آنگاه چنین کلمه ای در ایمیل نشان دهنده وجود یک اسپم نمی باشد.
نسبت به فیلترهای مبتنی بر لیست کلمات کلیدی، Bayesianیک فیلتر 5(کمتر فریب می خورد.
نقطه ضعف: فرض استقالل بین ویژگی ها می توان از روشهای جایگزین )البته با محاسبات بیشتر( مانندBelief
Networkاستفاده کرد
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 25
نقاط قوت وضعف)ادامه(
برای فیلتر کردن اتوماتیک اسپم ها Bayesian روش •کارا می باشد
افزودن ویژگیهای غیردامنه ای و غیرمتنی و عبارتهای •دست-ساخته باعث بهبود کارائی فیلترینگ می گردد.
می تواند برای دسته Naïve Bayesianفیلتراسپم •بندی های متفاوتی از ایمیلها مورد استفاده قرار گیرد
مثل دسته بندی ایمیلهای معتبر به »ایمیلهای دوستان« و –»ایمیلهای کاری«
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 26
جمع بندی
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 27
مراجع [1] Sahami, M., Dumais, S., Heckerman,D and Horvitz,E. A bayesian approach to filtering
junk e-mail. In Learning for Text Categorization: Papers from the 1998 Workshop.AAAI Technical Report WS-98-05, 1998.
[2] Blanzieri,E., Bryl,A. A survey of learning-based techniques of Email Spam Filtering. Technical report # DIT-06-056.\University of Torino, Italy.2008.
[3] http://www.gfi.com/whitepapers/why-bayesian-filtering.pdf. “Why Bayesian filtering is the most effective anti-spam technology”, White Paper by GFI Software., 2008.
[4] Cohen, W., Learning rules that classify email. In Proceedings of the 1996 AAAI Spring Symposium on Machine Learning in Information Access, MLIA ’96. AAAI Press, 1996.
[5] Yang, Y., Pederson, J.O., A Coparative Study on feature selection in text categorization. In Proceedings of International Conference on Machine Learning (ICML), Pages 412-420. Morgan Kaufman Publishers, 1997
Naïve Bayesianاسپم و فیلترکردن آن با استفاده از روش 28
با تشکر از توجه شما