در IR، مسئله اصلی رتبهبندی و انتخاب اسناد مرتبط است، نه صرفاً درست یا غلط بودن یک جواب.
در بازیابی اطلاعات (Information Retrieval)، وقتی یک سیستم مثل موتور جستجو یا سیستم طبقهبندی، اسناد یا نمونهها را برمیگرداند، باید کیفیت نتایج را بسنجیم. دو معیار اصلی برای این کار وجود دارند:
- Precision (دقت): درصد نتایج بازیابیشده که واقعاً درست هستند.
- Recall (فراخوانی): درصد از کل نتایج درست که سیستم توانسته پیدا کند.
این دو معیار با هم به ما کمک میکنند تا بفهمیم سیستم تا چه حد دقیق و تا چه حد کامل عمل میکند.
در بازیابی اطلاعات، هر سند نسبت به یک پرسوجو یکی از این چهار حالت را دارد:
True Positive (TP) سند مرتبط است و بازیابی شده ✅
False Positive (FP) سند نامرتبط است ولی بازیابی شده ❌
False Negative (FN) سند مرتبط است ولی بازیابی نشده ❌
True Negative (TN) سند نامرتبط است و بازیابی نشده ✅
در IR معمولاً TN اهمیت کمی دارد، چون تعداد اسناد نامرتبط بسیار زیاد است.
تعریف: از بین اسنادی که بازیابی کردهایم، چند درصدشان واقعاً مرتبط بودهاند؟
تعبیر شهودی:
- Precision بالا ⇒ نتایج تمیز و کمخطا
- مناسب وقتی کاربر حوصله نتایج اضافی ندارد
مثال ساده:
فرض کنید سیستم ما 10 سند را برمیگرداند، و از این 10 سند، 7 سند واقعاً مرتبط هستند:
- Precision = 7 / 10 = 0.7 → 70%
نکته: Precision به ما میگوید «از میان چیزهایی که سیستم آورد، چند درصد درست بود».
تعریف: از بین تمام اسناد مرتبط موجود، چند درصدشان را پیدا کردهایم؟
تعبیر شهودی:
- Recall بالا ⇒ چیزی از قلم نمیافتد
- مناسب وقتی از دست دادن اطلاعات خطرناک است
مثال ساده:
فرض کنید در کل پایگاه داده 20 سند مرتبط وجود دارد، و سیستم ما 7 تا را برگردانده:
- Recall = 7 / 20 = 0.35 → 35%
نکته: Recall به ما میگوید «سیستم چند درصد از همه نتایج درست را پیدا کرده است».
بین Precision و Recall معمولاً رابطهی معکوس وجود دارد:
- اگر خیلی سختگیرانه فقط بهترین نتایج را بدهیم → Precision بالا، Recall پایین
- اگر هرچیزی که شاید مرتبط است را بیاوریم → Recall بالا، Precision پایین
مثال گوگلی:
- صفحه اول نتایج → Precision بالا
- تمام نتایج ممکن → Recall بالا
راهکار متعادلسازی: از معیار F1-Score استفاده میکنیم:
F1 میانگین هارمونیک Precision و Recall است و یک معیار کلی از عملکرد سیستم ارائه میدهد.
- Precision: کیفیت نتایج بازیابیشده.
- Recall: توانایی سیستم در پیدا کردن همه نتایج درست.
- F1-Score: ترکیبی از هر دو برای یک ارزیابی متعادل.
نکته مهم: در طراحی سیستمهای بازیابی اطلاعات، معمولاً باید تصمیم بگیریم که برای کاربرد ما دقت مهمتر است یا فراخوانی.
| سند واقعی مرتبط | سیستم برگرداند | درست/غلط |
|---|---|---|
| 1 | بله | درست |
| 2 | بله | درست |
| 3 | خیر | - |
| 4 | بله | درست |
| 5 | خیر | - |
- Precision = 3 / 3 = 100%
- Recall = 3 / 5 = 60%
-
Precision مهم است وقتی:
- اسپم فیلتر
- موتور جستجو
- پیشنهاد فیلم یا محصول
-
Recall مهم است وقتی:
- تشخیص بیماری
- بازیابی پروندههای حقوقی
- سیستمهای امنیتی
-
در بازیابی اطلاعات:
- Precision و Recall با هم معنی پیدا میکنند
- انتخاب آستانه (Threshold) تعیینکنندهی تعادل آنهاست
یک سیستم خوب الزاماً نه بیشترین Precision را دارد و نه بیشترین Recall را، بلکه تعادل مناسبی بین این دو برقرار میکند.