Presentation is loading. Please wait.

Presentation is loading. Please wait.

اسپم و فیلترکردن عمومی آن با استفاده از روش Naïve Bayesian

Similar presentations


Presentation on theme: "اسپم و فیلترکردن عمومی آن با استفاده از روش Naïve Bayesian"— Presentation transcript:

1 اسپم و فیلترکردن عمومی آن با استفاده از روش Naïve Bayesian
احسان ضمیری استاد راهنما: آقای دکتر کاهانی دانشگاه فردوسی مشهد

2 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
رئوس مطالب مروری بر پدیده اسپم روشهای مبتنی بر یادگیری برای فیلترکردن اسپم ها روش Naïve Bayesian برای فیلترکردن اسپم معیارهای ارزیابی بررسی نتایج اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

3 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
ایمیل های اسپم Spam/junk/bulk s پیغامهایی در Inbox شما هستند که شما آن ها را نخواسته و زمانی را برای بیرون انداختن آنها صرف می کنید. در مقابل آن : نامه های الکترونیکی معتبر یا ham 75-80% از حجم نامه های الکترونیکی را اسپم ها (spam) تشکیل می دهند باعث ایجاد ترافیک شده و فضای حافظه و قدرت محاسباتی را از بین می برد باعث ضرر اقتصادی هزینه ای بالغ بر 50 میلیون دلار بر اقتصاد امریکا در سال 2005 وارد ساخته با توجه به شخص و سازمان گیرنده ایمیل، اسپم ها تعریف می گردند ایمیل های در حوزه هنر برای شخصی که علاقه ای به هنر ندارد اسپم تلقی می شود اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

4 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
نمونه هایی از ایمیل های اسپم Subject: AWARD CONFIRMATION We wish to congratulate you over your success in our computer BALLOTING SWEEPSTAKE held on 16th Nov, This is a millennium scientific computer game in which 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

5 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
برخی از اهداف ایمیل های اسپم بیشتر به منظور اهداف اقتصادی است تبلیغ برای یک کالای خاص، سرویس خاص و یا یک ایده خاص فریب کاربران برای استفاده از اطلاعات محرمانه آنها  phishing انتقال یک نرم افزار خرابکار به کامیپوتر کاربر (مثلاً ویروس) ایجاد یک خرابی به صورت موقتی در Mail-Server ایجاد ترافیک پخش مطالب غیراخلاقی اسپم ها دائما در حال تغییر محتوا و شکل هستند، برای اینکه توسط آنتی اسپم ها شناسایی نشوند. اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

6 اسپم و فیلترکردن عمومی آن با استفاده از روش Naïve Bayesian
تکنیک های مبارزه با اسپم ها و کنترل آنها روشهای اقتصادی دریافت وجه برای ارسال ایمیل : مانند پروتکل Zmail روشهای قانون گذاری مانند قانون US-CAN SPAM امن سازی بسترانتقال ایمیل تغییر پروتکلهای انتقال ایمیل (مثل SMTP) و ارانه پروتکل های جایگزین مانند SenderId کنترل ایمیل های خروجی در برابر کنترل ایمیل های ورودی فیلترینگ ایمیل ها 1- فیلترینگ براساس یکسری قاعده از پیش تعریف شده: if $SENDER$ contains “schacht” $ACTION$=$INBOX$ [HAM] if $SUBJECT$ contains “Win” $ACTION$=$DELETE$ [SPAM] if $BODY$ contains “%%Money%%” $ACTION$=$DELETE$ [SPAM] مشکلات: قوانین ثابت، وابستگی به زبان، چه تعداد قانون؟، چه کسی باید قوانین را تعریف کند 2- فیلترینگ براساس لیست سیاه و سفید (Black list-white list) 3- فیلترینگ مبتنی بر یادگیری (آماری) و با استفاده از ویژگیهای پیغامها اسپم و فیلترکردن عمومی آن با استفاده از روش Naïve Bayesian

7 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
فیلترینگ مبتنی بر یادگیری (آماری) و با استفاده از ویژگیهای پیغامها در یادگیری ماشینی برای عمل دسته بندی (Classification) از نمونه داده هایی (ایمیل هایی) که از قبل فراهم شده است(داده آموزش یا training) و هر یک دسته(کلاس،برچسب) مشخص دارد، استفاده کرده و دسته(کلاس) یک نمونه جدید(تست) را تعیین می کنیم. بردار پارامترها( ویژگی ها) θ حاصل آموزش دسته بند با استفاده از یک مجموعه داده است که قبلاً جمع آوری شده است نیز تابع آموزش (Training) می باشد تست داده جدید: m’ یک ایمیل جدید است و دسته آن را می خواهیم (spam or ham?) مجموعه داده آموزش (training Data): M دو نوع کلاس(برچسب) : اسپم و ایمیل معتبر (ham) اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

8 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
متدهای یادگیری یادگیری Offilne داده های آموزش با کلاس(برچسب) مشخص، قبلا جمع آوری شده است و ما در طی دسته بندی از همین داده های ثابت استفاده می کنیم < type=“HAM_ ”>Soha! sorry cannot reach at 18:00</ > < type=“spam”>hi, have you thought online credit?</ > .... یادگیری Online کاربر طبقه بندی هایِ غلط دسته بند را تصحیح می کند و برچسب صحیح را معین می کند؛ به این ترتیب حجم داده آموزش به تدریج افزوده می شود و دانش دسته بند افزایش می یابد مثال: در سرویس ایمیل Yahoo! می توان بر روی “spam” و یا “not spam” کلیک کرد و بدین ترتیب Yahoo! از کاربر Feedback می گیرد اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

9 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
یادگیری Online: Yahoo Mail اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

10 شمای کلی مدل انتخاب ویژگی Feature Selection (x2) Evaluate test
training test انتخاب ویژگی Feature Selection (x2) ویژگیهای به صورت لغت (Tokenization) ویژگی های وابسته به دامنه دسته بند(Classifier) test classify ویژگیها ی به صورت عبارات دست ساخته Ham? Spam? استخراج ویژگی ها Feature Extraction Evaluate اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

11 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
مراحل مدل مراحل: داده های آموزش شامل ایمیل های برچسب خورده دو کلاس مشخص: Spam و Ham استخراج ویژگی ها توکن بندی متن تشخیص کلمات حذف Stopwords(مثل if,and اگر، به، با،...) ریشه یابی کلمات (Stemming) حذف علامات نقطه گذاری مثل ؛ ، .... ویژگیهای به صورت لغت عبارات دست ساخته که متمایز کننده می باشند مثل$$Money$$ ویژگی های مشخصه دامنه مثل To، From، تاریخ ارسال پیام، اندازه پیام، ... انتخاب ویژگی های برتر : Feature Selection دسته بندی ایمیل به عنوان اسپم و یا ایمیل معتبر دسته با احتمال بیشتر = برچسب کلاس ارزیابی نتایج (Precision/Recall) اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

12 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
ویژگی(مشخصه) های یک پیام الکترونیکی این ویژگی ها نشانه هایی برای دسته بندی یک پیغام به اسپم و یا ایمیل معتبر است ویژگی های یک ایمیل کلمات (توکن ها) free, win, online, weight, fortune, offer ،... عبارات “Free”, “only$”, “order now!”،... کاراکترهای خاص $pecial, grea8, 4u،... سرآیند ایمیل (وابسته به دامنه) نام فرستنده، آدرس ایمیل فرستنده و گیرنده، نام دامنه (مثل .edu، .ir، .com)، آدرس های IP اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

13 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
ماتریس بردار ویژگی ها (با مقادیر باینری) ویژگی ها  کلمات و عبارات همان ویژگی ها هستند، اگر در آن سند/ایمیل موجود باشند ، مقدارشان برابر 1 بوده و اگر در آن سند/ایمیل موجود نباشند مقدارشان برابر صفر خواهد بود اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

14 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
انتخاب ویژگی ها (Feature Selection) برای ما کلماتی ارزش دارد که بتوانیم با استفاده از آنها دسته ها (اسپم و ایمیل معتبر) را تشخیص دهیم در جدول بالا ویژگی X2 خاصیت تمایز در تشخیص دسته ایجاد کرده است و وبنابراین یک ویژگی ایده آل است. ویژگی X1 X2 X150 Spam? #1 1 #2 #3 #4 #500 ایمیل اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

15 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
انتخاب ویژگی ها (ادامه) تا حد زیادی کیفیت classification به انتخاب ویژگی ها وابسته است الگوریتم های خوبی چون PIL و MST براساس MI ارائه شده است انتخاب و یژگی ها با الگوریتم های ژنتیک و یا hill climbing روش خی-2 و IG بهترین روشهایی هتند که کلمات پرمعنا را به ما می دهند. اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

16 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
برخی از الگوریتم های مبتنی بر یادگیری برای دسته بندی ایمیل ها Naïve Bayesian K- نزدیک ترین همسایه (k-NN) SVM (Support Vector Machine) توسط یک ابرصفحه کلاسها از هم جدا می شوند: برای وقتی که تنها دو کلاس داریم فرکانس کلمه – فرکانس معکوس سند (TF-IDF) Term Frequency- Inverse Document Frequency درخت های تصمیم گیری C4.5 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

17 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
احتمال شرطی : 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

18 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
فرض استقلال: n= تعداد ویژگی ها هر کلاس (اسپم و یا ایمیل معتبر) که این مقدار احتمالی به ازای آن بزرگتر باشد، برچسب آن ایمیل خواهد بود. برای مقایسه مقدار کلاس اسپم با کلاس «ایمیل معتبر» نیازی به محاسبه مخرج کسر فوق نیست چراکه این مقدار برای هر کلاس یکسان است اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

19 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
طبقه بندی به عنوان اسپم False Psitive شامل ایمیل هایی می شود که به اشتباه جزو اسپم ها دسته بندی می گردند. : False Negative هم شامل ایمیل هایی می شود که به اشتباه جزو ایمیل های معتبر دسته بندی می شوند.: !!! طبقه بندی اشتباه یک ایمیلِ معتبر به عنوان اسپم نسبت به طبقه بندی اشتباه یک اسپم به عنوان ایمیلِ درست، هزینه بدِ بیشتری در بردارد! اگر هزینه λ بار بدتر از هزینه باشد، آنگاه زمانی یک ایمیل را جزو اسپم ها طبقه بندی می کنیم که با فرض داریم که t برابر است با در اینجا t برابر 0/999 گرفته شده است. اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

20 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
آزمایش از feature selection برای کاهش ابعاد ویژگی/داده استفاده شده است بعضی اوقات می توان از feature transforming هم استفاده کرد LSI & SVD یک انبوه داده(corpus)از ایمیلهای واقعی : شامل 1578 ایمیل بیهوده و 211 ایمیل معتبر  1538 داده برای آموزش فیلتر و 251 عدد برای تست ویژگیهای گرفته شده از توکن های متن توکن های نادر (با رخداد کمتر از 3 در کل corpus) حذف شدند 35 ویژگی عبارتی اضافه شدند 20 ویژگی غیر متنی و وابسته به دامنه اضافه شدند تعداد کاراکترهای غیر الفبایی در عنوان ایمیل به عنوان ویژگی مفیدی شناسایی شد 500 ویژگی برتر با استفاده از Mutual Information انتخاب شد اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

21 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
معیارهای ارزیابی Spam Precision: درصدی از ایمیلهای طبقه بندی شده به عنوان اسپم که در واقع اسپم هستند. Spam Recall: درصدی از کل ایمیل های اسپم واقعی که توسط دسته بند به عنوان اسپم طبقه بندی شده اند. اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

22 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
نتایج یک نمودار Precision/Recall ایده آل فقط کلمات (به عنوان ویژگیها( کلمات و عبارات (به عنوان ویژگیها( کلمات-عبارات و صفات وابسته به دامنه (به عنوان ویژگیها( نمودار Recall / Precision برای اسپم ها با 3 مجموعه متفاوت از ویژگیها اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

23 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
نتایج (ادامه) نتایج دسته بندی (Classification) با استفاده از مجموعه ویژگی های متفاوت اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

24 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
نقاط قوت متد Bayesian کل پیغام را در نظر می گیرد. این متد علاوه بر اینکه کلمات کلیدی که معرف و مرتبط با اسپم هستند را شناسایی می کند، بلکه کلمات معرف ایمیل های معتبر را نیز شناسایی می کند. در متد Bayesian کلمات در کنارهم تأثیر یکدیگر را (در نتیجه نهایی فیلتر اسپم) متعادل می کنند؛ به بیانی دیگر فیلتر Bayesian بر روی کلمات کلیدی تکیه نمی کند به طوریکه به خاطر یک کلمه خاص، یک پیغام را جزو اسپم ها طبقه بندی کند، بلکه تمامی کلمات و تمامی ویژگی های پیغام را در نظر می گیرد. یک فیلتر Bayesian با یادگیری مستمر از اسپم های جدید و ایمیل های معتبرِ جدید، به طور ثابت خود را با آخرین تغییرات وفق می دهد. فیلتر Bayesian دائماً در حال تحول است و خود را با تکنیک های جدید اسپم هماهنگ می سازد. هنگامی که فرستادگان اسپم برای فریب دادن راهکارِ «بررسی کلمات کلیدی» به جای “Free” از “F-r-e-e” استفاده کردند، بلافاصله پس از افزودن “F-r-e-e” به پایگاه داده کلمات کلیدی، راهکارشان خنثی شد روش Bayesian روشی است که قابل اِعمال به هر زبانی می باشد. فیلتر اسپم Bayesian کاملاً قابل انطباق با هر زبان و نوشتاری می باشد اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

25 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
نقاط قوت وضعف(ادامه) تکنیک فیلتر Bayesian حساس به کاربر و داده های اوست. فیلتر از ایمیل های کاربر (و یا شرکت) یاد می گیرد که در مورد کاربر، بیشتر چه مطالبی به عنوان ایمیل رد و بدل می گردد. به عنوان مثال اگر شرکت (یا فرد) یک شرکت دلال اتومبیل باشد، آنگاه کلمه “mortgage” به عنوان نشانه ای برای یک اسپم تلقی می گردد، در حالی که اگر شرکت (یا فرد) یک شرکتی باشد که طرف قراردادش سازمان وام دهنده مسکن باشند آنگاه چنین کلمه ای در ایمیل نشان دهنده وجود یک اسپم نمی باشد. یک فیلتر Bayesian نسبت به فیلترهای مبتنی بر لیست کلمات کلیدی، کمتر فریب می خورد. نقطه ضعف: فرض استقلال بین ویژگی ها می توان از روشهای جایگزین (البته با محاسبات بیشتر) مانند Belief Network استفاده کرد اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

26 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
جمع بندی روش Bayesian برای فیلتر کردن اتوماتیک اسپم ها کارا می باشد افزودن ویژگیهای غیردامنه ای و غیرمتنی و عبارتهای دست-ساخته باعث بهبود کارائی فیلترینگ می گردد. فیلتراسپم Naïve Bayesian می تواند برای دسته بندی های متفاوتی از ایمیلها مورد استفاده قرار گیرد مثل دسته بندی ایمیلهای معتبر به «ایمیلهای دوستان» و «ایمیلهای کاری» اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

27 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
مراجع [1] Sahami, M., Dumais, S., Heckerman,D and Horvitz,E. A bayesian approach to filtering junk . In Learning for Text Categorization: Papers from the 1998 Workshop.AAAI Technical Report WS-98-05, [2] Blanzieri,E., Bryl,A. A survey of learning-based techniques of Spam Filtering. Technical report # DIT \University of Torino, Italy [3] “Why Bayesian filtering is the most effective anti-spam technology”, White Paper by GFI Software., [4] Cohen, W., Learning rules that classify . In Proceedings of the 1996 AAAI Spring Symposium on Machine Learning in Information Access, MLIA ’96. AAAI Press, [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 Morgan Kaufman Publishers, 1997 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian

28 اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian
با تشکر از توجه شما اسپم و فیلترکردن آن با استفاده از روش Naïve Bayesian


Download ppt "اسپم و فیلترکردن عمومی آن با استفاده از روش Naïve Bayesian"

Similar presentations


Ads by Google