فیلترینگ اسپم بیزی

فرایند

کلمات مشخص در ایمیل‌های غیر اسپم و اسپم دارای احتمال خاصی هستند. برای مثال اکثر کاربران در ایمیل‌های اسپم با کلمه "Viagra" برخورد می‌کنند اما به ندرت در ایمیل‌های عادی با این کلمه برخورد می‌کنند. فیلتر از قبل این احتمالات را نمی‌داند و باید آن‌ها را یاد بگیرد و برای خود بسازد. برای یادگیری فیلتر، کاربر باید به‌طور دستی مشخص کند که آیا ایمیل جدید اسپم است یا نه. فیلتر در هنگام یادگیری برای تمام کلمات، احتمال را محاسبه و آن‌ها را در دو دسته مختلف اسپم و غیر اسپم در پایگاه دادهٔ خود قرار می‌دهد. برای مثال فیلترهای اسپم بیزی احتمال بسیار بالایی برای کلمات "Viagra" و "refinance" در نظر می‌گیرند اما احتمال بسیار پایینی برای کلماتی که در ایمیل‌های صحیح دیده می‌شود محاسبه می‌کنند، نظیر نام و نام خانوادگی یا نام دوستانتان.
بعد ازیادگیری، احتمال کلمه‌های ایمیل (به وسیلهٔ توابع احتمال) برای مشخص کردن این که ایمیل در چه دسته‌ای قرار می‌گیرد استفاده می‌شود. هر کلمه در ایمیل به احتمال اسپم بودن ایمیل کمک می‌کند، بنابراین کلمات پر تکرار در ایمیل‌ها نقش مهمی در تشخیص اسپم بودن ایمیل دارند. به این کمک کردن احتمال posterior گویند که براساس قضیه بیز محاسبه می‌گردد. سپس برای تمام کلمات احتمال اسپم بودن ایمیل محاسبه می‌گردد و اگر کل احتمالات از مقدار آستانه (۹۵٪) بیشتر شد، فیلتر برچسب اسپم بودن به آن ایمیل می‌زند.
به مانند روش‌های دیگر فیلترینگ اسپم ایمیل با برچسب اسپم به صورت خودکار به پوشه "Junk" منتقل می‌شود و حتی بعد از مدتی پاک خواهد شد. برخی از نرم‌افزارها برای مدتی خاص ایمیل را در قرنطینه برای بازبینی به وسیله کاربر قرار می‌دهند.
یادگیری اولیه معمولاً دارای خطاهای بالایی است (مثبت کاذب و منفی کاذب) که کاربر ابتدا باید آن را برای نرم‌افزار تمیزسازی کند. بعد از مدتی نرم‌افزار به صورت پویا خودش را وفق می‌دهد و اسپم‌ها را با دقت بالایی تشخیص می‌دهد.
برخی از فیلترها از نتیجهٔ ترکیب فیلترینگ اسپم بیزی و چندین فیلترینگ اکتشافی دیگر برای دقت بالاتر و همچنین وفق یافتن نرم‌افزار استفاده می‌کنند.

راه‌های اکتشافی دیگر

کلمات بی‌طرف مانند "the"، "a"، "some" یا "is" در زبان انگلیسی یا مشابه این کلمات در زبان‌های دیگر را می‌توان نادیده گرفت. در حالت کلی، برخی از فیلترهای فیلترینگ بیزی تمام کلماتی که مقدار اسپمگی آن‌ها نزدیک به ۰٫۵ باشند را نادیده می‌گیرند که این تصمیم خوبی است. در این الگوریتم کلماتی که اسپمگی آن‌ها در اطراف ۰٫۰ (که مشخص‌کننده پیام‌های درست و غیر اسپم هستند) یا ۱٫۰ (که مشخص‌کننده پیام‌های درست و اسپم هستند) باشند، در نظر گرفته می‌شوند. به عنوان مثال یک روش می‌تواند ۱۰ کلمه‌ای را نگه دارد که قدر مطلق  از همه بیشتر باشد.
برخی از نرم‌افزارها کلماتی را نگه می‌دارند که چندین دفعه در مرحله یادگیری در پیام‌های مختلف ظاهر شده باشند.
برخی دیگر از نرم‌افزارها از الگوها (دنباله‌ای از کلمات) به جای کلمات زبان طبیعی استفاده می‌کنند. برای مثال، با یک پنجره لغزان چهار کلمه‌ای، این نرم‌افزارها اسپمگی را برای «Viagra is good for» به جای کلمات "Viagra" ،"is" ،"good" و "for" محاسبه می‌کنند. این روش حساسیت به متن را افزایش می‌دهد و اختلال بیزی را برای پایگاه داده‌های بزرگ کمتر می‌کند.

مزیت‌ها

مزیت فیلترینگ اسپم بیزی، یادگیری برای هر کاربر می‌باشد.
اسپم‌هایی که یک کاربر دریافت می‌کند معمولاً براساس فعالیت‌های کاربر در اینترنت می‌باشد. برای مثال، یک کاربر در یک خبرنامه ثبت نام می‌کند و کاربر ایمیل‌های آن خبرنامه را به عنوان اسپم می‌شناسد. این خبرنامه اینترنتی معمولاً دارای کلمات مشترک است، که می‌تواند اسم خبرنامه یا آدرس ایمیل خبرنامه باشد. یک فیلتر اسپم بیزی در نهایت یک احتمال بالایی براساس الگوهای خاص کاربر در نظر می‌گیرد.
رفتار متفاوتی با ایمیل‌های غیر اسپم و قانونی ای که کاربر دریافت می‌کند خواهد داشت. برای مثال در یک شرکت، گاهی اسم شرکت، نام کارمندان یا نام مشتری‌ها در پیام‌ها ذکر می‌شود. فیلتر یک احتمال پایینی برای این دسته از اسامی تعیین می‌کند.
احتمال کلمات برای هر کاربر یکتا است و می‌تواند براساس استنتاج و یادگیری دوباره، مواردی که به‌طور اشتباه دسته بندی کرده‌است را تصحیح کند. براساس نتایج بدست آمده، دقت فیلترینگ اسپم بیزی بعد از یادگیری، اغلب بالاتر از قوانین از پیش تعریف شده توسط کاربر است.
این فیلترینگ می‌تواند به خوبی از مثبت‌های کاذب جلوگیری کند، دسته بندی یک ایمیل غیر اسپم و قانونی را به یک ایمیل اسپم مثبت کاذب گویند. به عنوان مثال، اگر یک ایمیل شامل کلمه "Nigeria"، که در اکثر اسپم‌های کلاه برداری پول حرفه‌ای استفاده می‌شود، باشد قوانین از پیش تعریف شده بی‌درنگ ایمیل را به عنوان اسپم دسته بندی می‌کند. یک فیلتر بیزی کلمه "Nigeria" را به عنوان کلمه ایمیل‌های اسپم می‌شناسد اما ممکن است کلمات مهمتری نسبت به آن در ایمیل وجود داشته باشند که اسپم بودن ایمیل را رد کند. به عنوان مثال اسم همسر شما می‌تواند به‌طور قطع ایمیل را غیر اسپم شناسایی کند.

اشکال‌ها

فیلترینگ اسپم بیزی مستعد زهر بیزی است، روشی که اسپمرها برای کاهش کارایی فیلترینگ‌های اسپمی که، وابسته به فیلترینگ بیزی است، به کار می‌برند. فرستادن ایمیل‌های انبوه قانونی که معمولاً متن آن از روزنامه‌ها و منابع ادبی جمع‌آوری می‌شود یک نمونه زهر بیزی است که اسپمرها انجام می‌دهند. تاکتیک‌های اسپمرها شامل، قرار دادن کلمات تصادفی بی ضرر که معمولاً ربطی به اسپم ندارد، نیز می‌باشد که بدین وسیله امتیاز اسپم‌ها را نزد فیلترینگ‌های بیزی کاهش می‌دهند تا از فیلترینگ‌های اسپم بیزی فرار کنند.
از دیگر تکنیک‌های غلبه کردن بر فیلترینگ اسپم بیزی، قرار دادن تصویر به جای متن که می‌تواند دارای لینک نیز باشد. کل متن پیام یا قسمتی از آن با یک عکس که دقیقاً همان نوشته‌ها کشیده شده‌است جایگزین می‌شود. معمولاً فیلترهای اسپم نمی‌توانند عکس را پردازش کنند، که آن معمولاً کلمات حساس مانند "Viagra" است. اگر چه اکثر سرویس‌های میل عکس‌های دارای لینک را به دلایل امنیتی نمایش نمی‌دهند. به علاوه اندازه یک عکس به بایت خیلی بیشتر از اندازه آن به متن است، بنابراین اسپمرها پهنای باند بیشتری نیاز دارند که پیام‌های شامل عکس را بفرستند. در نهابت، برخی از فیلترها پیام‌هایی که دارای اشکال گرافیکی زیادی باشند را به عنوان اسپم شناسایی می‌کنند.
استفاده از تشخیص نوری نویسه‌ها یکی از روش‌های بسیار کارا است که شرکت گوگل در جی میل برای عکس‌هایی با اندازه متوسط تا بزرگ انجام می‌دهد می‌باشد. با این روش متنی که در داخل عکس گنجانده شده‌است قابل تشخیص می‌شود.

کاربردهای عمومی فیلترینگ بیزی

فیلترینگ بیزی به‌طور گسترده در تشخیص ایمیل‌های اسپم کاربرد دارد، اما این تکنیک می‌تواند هر نوع اطلاعاتی را دسته بندی کند. از این روش در علوم طبیعی، پزشکی و مهندسی استفاده شده‌است. یکی از نرم‌افزارهای دسته بندی عمومی AutoClass نام دارد. استفاده اولیهٔ آن برای دسته‌بندی ستاره‌ها براساس خصوصیات طیفی بود. اخیراً فرضیات جدیدی مبنی بر استفادهٔ مغز انسان از روش‌های بیزی برای طبقه‌بندی حس حرکتی و تصمیم بر چگونگی پاسخ‌های رفتاری مطرح شده‌است.