📧 تشخیص ایمیل‌های اسپم با هوش مصنوعی در پایتون

💬 آیا تا به حال برایت پیش آمده که ایمیل‌های تبلیغاتی یا مزاحم (Spam) وقتت را بگیرند؟

با استفاده از هوش مصنوعی و تکنیک‌های یادگیری ماشین (Machine Learning) می‌توان به‌راحتی ایمیل‌های اسپم را از ایمیل‌های واقعی (Ham) تشخیص داد.

در این آموزش یاد می‌گیریم چطور با پایتون یک مدل ساده برای تشخیص اسپم بسازیم.


🎯 هدف پروژه

  • تشخیص ایمیل‌های اسپم (مزاحم)
  • دسته‌بندی ایمیل‌ها به Spam و Ham
  • ساخت یک مدل ساده با Scikit-learn

📦 نصب پیش‌نیازها

ابتدا کتابخانه‌های موردنیاز را نصب کنید:

pip install scikit-learn pandas

🐍 کد تشخیص اسپم ایمیل

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import make_pipeline

# داده‌های نمونه
texts = [
    "تبریک! شما برنده جایزه شدید، همین حالا کلیک کنید",
    "جلسه فردا ساعت 10 برگزار می‌شود",
    "شما یک آیفون رایگان برنده شده‌اید",
    "لطفاً گزارش پروژه را ارسال کنید",
    "کسب درآمد میلیونی در خانه بدون تلاش"
]

labels = [
    "spam",
    "ham",
    "spam",
    "ham",
    "spam"
]

# ساخت مدل
model = make_pipeline(
    TfidfVectorizer(),
    MultinomialNB()
)

# آموزش مدل
model.fit(texts, labels)

# تست مدل
test_emails = [
    "شما انتخاب شدید برای دریافت جایزه نقدی",
    "لطفاً فایل جلسه را بررسی کنید",
    "درآمد دلاری فقط با یک کلیک"
]

for email in test_emails:
    prediction = model.predict([email])[0]
    print(f"ایمیل: {email}")
    print(f"دسته‌بندی: {prediction}\n")

▶️ نحوه اجرا

کد را در فایلی با نام spam_detector.py ذخیره کنید.

سپس اجرا کنید:

python spam_detector.py

یا:

python3 spam_detector.py

📊 نتیجه

با استفاده از چند خط کد ساده می‌توان یک سیستم ابتدایی برای تشخیص ایمیل‌های اسپم ساخت. این سیستم در دنیای واقعی در سرویس‌هایی مثل Gmail نیز با مدل‌های بسیار پیشرفته‌تر استفاده می‌شود.

💡 نکته: این مثال آموزشی است و برای دقت بالا در پروژه‌های واقعی باید از دیتاست‌های بزرگ‌تر و مدل‌های پیشرفته‌تر استفاده شود.