پروژه کوچک: تشخیص اسپم
پروژه عملی: ساخت سیستم کامل تشخیص اسپم فارسی از پیشپردازش تا Naive Bayes و ارزیابی — همه آموختهها
معرفی پروژه
در این پروژه، همه آموختههای سه بخش اول را کنار هم میگذاریم و یک سیستم کامل تشخیص اسپم فارسی میسازیم:
- پیشپردازش (نرمالسازی + توکنسازی)
- بازنمایی (BoW)
- مدل (Naive Bayes)
- ارزیابی (Precision/Recall/F1)
مرحله ۱: داده
مجموعهای از پیامهای برچسبدار (اسپم/عادی). در واقعیت هزاران نمونه؛ اینجا برای آموزش، نمونه کوچک.
مرحله ۲: پیشپردازش
- یکسانسازی حروف عربی/فارسی
- تبدیل اعداد
- توکنسازی و حذف کلمات خیلی کوتاه
مرحله ۳: مدل
Naive Bayes با Laplace Smoothing — آموزش فقط با شمارش!
مرحله ۴: ارزیابی
تقسیم Train/Test + محاسبه معیارها. برای اسپم، Precision حیاتی است (ایمیل مهم گم نشود!).
تحلیل خطا — قدم حرفهای
بعد از ارزیابی، پیامهای اشتباه را ببینید: چرا اشتباه شد؟ کلمه جدید؟ ایرونی؟ این تحلیل، مسیر بهبود را نشان میدهد.
ایدههای بهبود
- افزودن bigram به ویژگیها
- وزندهی TF-IDF بهجای شمارش خام
- داده بیشتر!
- مدل قویتر (SVM، ترنسفورمر)
نکته: همین ساختار (پیشپردازش ← برداری ← مدل ← ارزیابی ← تحلیل خطا) الگوی همه پروژههای NLP است — از اسپم تا تحلیل احساسات و دستهبندی خبر.
تمرین برای شما
- به لغتنامه اسپم، کلمات جدید اضافه کنید و اثرش را ببینید
- بهجای BoW، TF-IDF پیاده کنید
- تحلیل خطا: کدام پیامها اشتباه شدند و چرا؟
جمعبندی
- پایپلاین کامل NLP در یک پروژه واقعی
- هر مرحله از مباحث قبل، جای خودش نشست
- تحلیل خطا، بخش جداییناپذیر پروژه حرفهای است
این مبحث بخشی از دوره آموزش کامل پردازش زبان طبیعی (NLP) است.