ارزیابی سیستمهای NLP
ارزیابی مدلهای NLP: دقت، Precision و Recall، F1، ماتریس درهمریختگی و مشکل داده نامتوازن
چرا ارزیابی دقیق مهم است؟
مدل NLP بدون ارزیابی درست، مثل دارو بدون آزمایش است! و در NLP، دقت (Accuracy) بهتنهایی گمراهکننده است.
مثال خطرناک داده نامتوازن
۹۹٪ ایمیلها عادیاند. مدلی که بگوید «همه عادی!» دقت ۹۹٪ دارد اما کاملاً بیفایده است — هیچ اسپمی را نمیگیرد!
ماتریس درهمریختگی (Confusion Matrix)
| پیشبینی: اسپم | پیشبینی: عادی | |
|---|---|---|
| واقعیت: اسپم | TP (درست گرفت) | FN (از دست داد!) |
| واقعیت: عادی | FP (بهناحق گرفت) | TN (درست رد کرد) |
سه معیار کلیدی
| معیار | فرمول | سؤال |
|---|---|---|
| Precision | TP / (TP + FP) | از آنها که اسپم گفتیم، چندتا واقعاً بود؟ |
| Recall | TP / (TP + FN) | از کل اسپمهای واقعی، چندتا را گرفتیم؟ |
| F1 | هارمونیک P و R | تعادل هر دو |
کدام مهمتر است؟
به هزینه خطا بستگی دارد:
- فیلتر اسپم: Precision مهم — ایمیل مهم را اسپم نکن! (FP گران)
- تشخیص بیماری/تقلب: Recall مهم — هیچ مثالی از دست نرود! (FN گران)
ارزیابی چندکلاسه
- Macro F1: میانگین F1 همه کلاسها (همه برابر مهم)
- Weighted F1: میانگین وزندار با تعداد نمونه (کلاس بزرگ اثر بیشتر)
- داده نامتوازن؟ Macro گزارش کنید تا کلاس کوچک دیده شود!
روشهای ارزیابی
- Hold-out: تقسیم ساده Train/Test (۸۰/۲۰)
- K-Fold: چرخش Test بین بخشها — قابل اعتماد برای داده کم
- تست مستقل: داده کاملاً جدید (شبیه محیط واقعی)
هشدار: هرگز روی داده Train ارزیابی نکنید! مدل داده را «حفظ» کرده و دقت غیرواقعی میدهد. همیشه Test جدا.
ارزیابی تولید متن
برای مدلهای مولد (ترجمه، خلاصه)، معیارهای دیگری لازم است: BLEU (تطابق n-gram با مرجع)، ROUGE (بازیابی) یا ارزیابی انسانی — مباحث پیشرفتهتر.
جمعبندی
- دقت تنها کافی نیست — مخصوصاً با داده نامتوازن
- Precision ضد هشدار کاذب، Recall ضد ازدستدادن
- انتخاب معیار = تحلیل هزینه خطا
- همیشه روی داده دیدهنشده ارزیابی کنید
این مبحث بخشی از دوره آموزش کامل پردازش زبان طبیعی (NLP) است.