بخشی از مقاله
چکیده
امروزه تعداد ایمیل های ارسالی در حال افزایش می باشد. از طرفی تعداد ایمیلهای ناخواسته - که به عنوان اسپم شناخته میشوند - نیز افزایش یافته است. همین باعث شده است که بسیاری از محققان در این زمینه فعالیت داشته باشند و روشهای مختلف بسیاری را برای فیلتر کردم اسپم مورد بررسی قرار دهند. در این مقاله ما از الگوریتمهای یادگیری ماشین - SVM, - KNN, NB به همراه تکنیکهای انتخاب ویژگی - IG, Chi - برای فیلتر کردن اسپم استفاده کردهایم. همچنین از روش جدید اتحاد ویژگی برای بهبود کارایی فیلترینگ استفاده نمودهایم. مقایسههای مختلفی بین الگوریتمها بر روی دیتاستهای مختلف انجام شده است. ما نشان دادیم که الگوریتم پیشنهادی کارایی بهتری نسبت به سایر روش داشته است. در بین الگوریتمهای طبقهبندی نیز SVM بهترین خروجی را از خود نشان داده است.
.1 مقدمه
در سالهای اخیر، یکی از پلهای ارتباطی مهم برای کاربران اینترنت استفاده از ایمیل میباشد. یکی از مشکلات مهم در ایمیلها، ایمیلهای ناشناخته میباشد که به عنوان spam شناخته میشوند. بر اساس یک مطالعه انجام شده بالای 70 ایمیلهای تجاری امروزی اسپم هستند. به همین دلیل اسپم به یک نگرانی بزرگ تبدیل شده است. از ایمیلهایspam برای ارسال تبلیغاتی مانند: کاهش وزن، بهبود تجارت[4] و ... استفاده میشود. همچنین افراد سودجو برای کارهایی مانند: کلاهبرداری و پخش ویروس آنلاین و ... نیز از ایمیلهای spam استفاده میکنند. از طرفی ایمیلهای spam باعث ایجاد مشکلاتی مانند: به هدر رفتن زمان کاربر برای خواندن آنها، پر شدن فضای ایمیل کاربر و هدر رفتن پهنای باند میشود.
یکی از روشهای مورد استفاده برای تشخیص spam استفاده از فیلتر spam میباشد. در مقابل spammerها در تلاش هستند با تکنیکهای مختلف، شناسایی spam را کاهش دهند. یکی از کارهای رایج، مبهم کردن اصطلاحات رایج و جاسازی کردن متن در تصاویر میباشد. اخیراً بیشتر راهحلها مبتنی بر محتوا عمل کردند[16][15] و از الگوریتمهای یادگیری ماشین مانند نویز بیز[10][8]، درخت تصمیم[19]، ماشین بردار پشتیبان[20][2][7] و یا ترکیبی از انواع الگوریتمها[6] استفاده کردهاند. این الگوریتمها قادر به استخراج دانش از ایمیلها میباشند. از طرف دیگر، از طریق تجربه میتوانند کارایی خود را بهبود بخشند. در این الگوریتمها برای طبقهبندی از متن ایمیلها - به عنوان مثال لغات - به عنوان ویژگی استفاده میشود که همین کار باعث ایجاد تعداد ویژگیها بسیار زیاد - شامل ویژگیهای زائد و بیربط - شود و دقت الگوریتم کاهش یابد.
چالش اصلی، تعداد ویژگی میباشد که میتوان از الگوریتمهای انتخاب ویژگی استفاده نمود. الگوریتمهای انتخاب ویژگی با حذف ویژگیهای غیرضروری باعث افزایش دقت طبقهبندی میشوند. پس از حذف ویژگیهای غیرضروری توسط الگوریتمهای انتخاب ویژگی هنوز ویژگیهایی - مانند مترادفها - وجود دارند که میتوان حذف کرد.
در این مقاله ما از شیوه جدید ارائه شده به نام اجتماع ویژگی[1] استفاده میکنیم. این روش بعد از انتخاب ویژگی به کار رفته و باعث کاهش بیشتر ویژگیها و ساخت ویژگیهایی با اطلاعات بیشتر و بهبود کارایی طبقهبندی میشود. این مقاله در بخشهای مختلف سازماندهی شده است: بخش 2 مروری بر فیلتر کردن spam و کارهایی که در گذشته انجام شده را ارائه داده است. بخش 3 الگوریتم ارائه شده را مورد بحث قرار داده است. بخش 4 آزمایشات و ارزیابیهای انجام شده مورد تحلیل قرار گرفته و همچنین دیتاستهای استفاده شده برای آزمایشات شرح داده شده است. در نهایت، نتیجهگیری و مسیری برای کارهای آینده در بخش 5 خلاصه شده است.
.2 کارهای انجام شده
در حال حاضر، الگوریتمهای یادگیری ماشین بیشترین استفاده را در تشخیص ایمیلهای spam دارند.[15] اکثر الگوریتمهای یادگیری ماشین از دیدگاه طبقهبندی به مسئله نگاه میکنند و داده را به دو دسته spam و non-spam تقسیم میکنند. یکی از دستهبندیهایی که برای تقسیمبندی روشهای انجام شده در نظر گرفته میشود شامل supervised، unsupervised و semi-supervised میباشد.
یکی از اولین کارهای انجام شده در این زمینه توسط Jindal و همکاران[11] انجام شده است. آنها از شیوه supervised learning استفاده کردهاند. در بعضی مواقع به دلیل نداشتن دیتاست مناسب و برچسبدار مجبور به استفاده از روشهای unsupervised learning میشویم. Raymond و همکاران[13] از جمله کسانی بودند که در این زمینه کار کردند.
Guzella و همکاران مشکلات بروزرسانی طبقهبند مبتنی بر bag of words و الگوریتم نویز بیز را مورد بررسی قرار دادهاندMetsis .[16] و همکاران 5 نوع مختلف از الگوریتم نویز بیز را مورد مطالعه قرار داده و آنها را مورد مقایسه و ارزیابی قرار دادهاند
Cheng و همکاران از روش semi-supervised برای دستهبندی ایمیلها استفاده کردهاند. روش کار بدین صورت است که در ابتدا الگوریتم SVM با دادههای برچسبدار آموزش میبیند. سپس قسمتی از دیتاست آموزشی را که فاقد برچسب میباشد طبقهبندی میکند. در انتها الگوریتم NB داده آزمایشی را طبقهبندی میکند
Carreras و همکاران از الگوریتم Adaboost به همراه DT و NB استفاده کردهاند. آنها اثبات کردهاند که روشهای مبتنی بر Boosting بهتر از الگوریتمهای پایه عمل میکنندClark .[19] و همکاران از شبکه عصبی برای تشخیص اسپم استفاده کردهاند. آنها همچنین از IG برای بهبود کارایی شبکه عصبی استفاده کردهاند
Trivedi و همکاران الگوریتمهای انتخاب ویژگی و یادگیری ماشین را مورد ارزیابی قرار دادهاند. طبق آزمایشات انجام شده الگوریتم انتخاب ویژگی جستجوی حریصانه به همراه SVM بهترین کارایی را نسبت به دیگر الگوریتمها داشته است.
در مقالهای که Kumar و همکاران ارائه دادهاند الگوریتم DT بعد از اعمال الگوریتم انتخاب ویژگی Fisher filtering بهترین خروجی را نشان داده است.
Sharaff و همکاران از دو الگوریتم موثر IG و Chi-square برای شناسایی ویژگیهای مناسب استفاده کردهاند. همچنین از الگوریتمهای NB و SVM و DT برای طبقهبندی استفاده کردهاند. پس از آزمایشات مختلف نشان داده شده است که الگوریتم SVM بدون استفاده از الگوریتمهای انتخاب ویژگی بهترین خروجی را داشته است.
معمولاً دیتاستهای استفاده شده در زمینه تشخیص spam دارای ویژگیهای بسیار زیادی میباشند و این قضیه باعث میشود الگوریتمهای استفاده شده کارایی خوبی نداشته باشند. مقالات مختلفی در زمینه انتخاب ویژگی در موضوع تشخیص spam ارائه شده است. در مقاله[5] یک روش انتخاب ویژگی ژنتیک الگوریتم ماشین بردار پشتیبان ارائه شده است که توانسته دقت الگوریتم svm را بهبود بخشد.
.3روش کار
در این مقاله ما از الگوریتمهای یادگیری ماشین به همراه تکنیکهای انتخاب ویژگی استفاده میکنیم. در ابتدا با استفاده از تکنیکهای انتخاب ویژگی - IG, CHI - دیتاستها را آماده کرده و سپس برای طبقهبندی از الگوریتمهای یادگیری ماشین - SVM, KNN, NB - استفاده میکنیم. همچنین از تکنیک جدید اتحاد ویژگی در این مقاله استفاده خواهیم کرد.
.1.3 اتحاد ویژگی
جلیلوند و همکاران روش اتحاد ویژگی را ارائه دادهاند. ایده اصلی این الگوریتم این است که میتوان با ترکیب ویژگیها، ویژگیهایی با اطلاعات بیشتر و مفیدتر ایجاد کرد. در واقع میتوان ویژگیهای مترادف را ترکیب کرده و یک ویژگی قدرتمندتر ساخت. روش کار این الگوریتم بدینگونه است که این الگوریتم بعد از الگوریتمهای انتخاب ویژگی پایه - مانند IG و - CHI مورد استفاده قرار گرفته و با ترکیب ویژگیها باعث کاهش بیشتر ویژگیها شده و دقت الگوریتم را بهبود میبخشد. البته گاهی اوقات تعداد ترکیبات بیش از حد شده و نتیجهی ضعیفتری بدست میآید. برای کنترل تعداد ترکیبات میتوانیم از مقدار آستانه استفاده کنیم.
.4نتایج آزمایشی
در این بخش، ما الگوریتم اتحاد ویژگی را با دو الگوریتم معروف IG و CHI مقایسه میکنیم. آزمایشات بر روی 5 دیتاست در حوزه تشخیص ایمیل spam انجام شده است. همچنین کارایی روشها را با استفاده از الگوریتمهای طبقهبندی - KNN, - SVM, NB مبتنی بر بهترین زیرمجموعه ویژگی انتخاب شده ارزیابی خواهیم کرد.
.1.4 منابع دیتا
برای انجام آزمایشات 5 دیتاست مختلف مورد بررسی قرار گرفته است. دیتاست enron که شامل سه دیتاست جداگانه - enron1, enron2, enron3 - میباشد. دیتاست Assassin و دیتاست Ling که به طور خلاصه در جدول 1 شرح داده شده است.
جدول -1 مشخصات دیتاستها
.2.4 آزمایشات
در این بخش برخی آزمایشات برای ارزیابی کارایی اتحاد ویژگی از طریق مقایسه با روشهای دیگر انتخاب ویژگی انجام میشود. جدول 4-2 نتایج الگوریتمهای طبقهبندی - KNN, NB, SVM - را به همراه IG و FU نشان میدهد. تمامی برای هر دیتاست معیارهای ارزیابی Accuracy، precision، recall و F-measure بکار گرفته شده است.