العودة للوحة التحكم

QudahWay IR

NDCG Evaluation | تقييم فضاء المتجهات المتعدد

Slide 01
Slide 02
قصة "ياهو" والدرجات 📖
تخيل حالك بتدور على موضوع زي Toyota safety على محرك البحث "ياهو". هل منطقي نحكي إن كل النتائج يا "صح" يا "غلط" بس؟

أكيد لأ! شوف الصورة؛ فيه نتائج مكتوب عليها Good (يعني هاي اللي بدور عليها بالظبط)، وفيه نتائج Fair (يعني مفيدة بس مش توب)، وفيه نتائج مالها دخل. هون بنطلع من عالم الـ Binary (0 أو 1) لعالم الـ Multi-level؛ يعني بنعطي درجات للصح، وهاذ هو أساس الـ NDCG.
Slide 03
الفرضيات الأساسية للـ DCG 🧠
قبل الفرضيات، لازم نفهم شو يعني أصلاً Discounted Cumulative Gain (DCG)؟ الاسم لحاله بشرح القصة كلها:

1. Gain (الربح): هي القيمة أو "العلامة" اللي بنعطيها للملف بناءً على قديش هو مفيد.
2. Cumulative (تراكمي): يعني بدنا نجمع علامات الملفات اللي السيستم رجعهم واحد ورا الثاني.
3. Discounted (مخصوم): هون الفكرة الذكية؛ بنخصم من علامة الملف إذا كان مكانه "متأخر" تحت بالترتيب، لأنه قيمته بتقل.

الفرضيتين اللي بالمخطط هم اللي بدعموا هاد الكلام:
1. قيمة الملف: الملف الـ "توب" بفيد اليوزر أكثر بكثير من الملف الـ "بمشي الحال".
2. مكان الملف: كل ما نزل ترتيب الملف (Ranked position)، بتقل فايدته لليوزر لأنه احتمالية إنه يشوفه بتصير أصغر.
Slide 04
كيف بنحسبها؟ (الفكرة والخطوات) 🧮
الموضوع بمشي بـ 3 مراحل أساسية، وركز في الرابعة لأنها أهمهم:

1. Gain: بنعطي كل ملف علامة (مثلاً 3 للممتاز، 0 للي ملوش دخل).
2. Cumulative Gain: بنجمع العلامات وإحنا نازلين بالترتيب.
3. Discounted: بنقسم العلامة على log الرانك عشان "نعاقب" الملفات المتأخرة تحت.

4. الـ IDCG (الوضع المثالي): هاض هو "ميزان العدل". الـ Ideal DCG هو الحسبة اللي بتصير لو السيستم رتب الملفات "بالترتيب الصح" (يعني جاب الملفات اللي علامتها 3 بالأول، بعدين اللي علامتها 2، وهكذا).

وآخر خطوة بنقسم الـ DCG (اللي جابه السيستم فعلاً) على الـ IDCG (الكامل المكمل) عشان نطلع نسبة بين الـ 0 والـ 1.
Slide 05
مثال يوضح الفرق ⚖️
لاحظ في الجدول لمقارنة سؤالين (Query 1 & 2):

الـ IDCG (يعني أحسن نتيجة ممكنة) بتختلف من سؤال لسؤال لأنها بتعتمد على عدد الملفات المفيدة الموجودة أصلاً لكل سؤال.
- سؤال 1 جاب 0.75 من المثالي.
- سؤال 2 جاب 0.83 من المثالي.

هيك الـ NDCG بخلينا نقارن بين الأسئلة بـ "عدل" بالرغم من اختلاف صعوبتهم، لأننا بنقسم كل سيستم على أقصى طاقة ممكن يوصلها (الـ IDCG).
Slide 06
ليش الـ Normalization؟ ⚖️
ليش لازم نحول الـ DCG لـ nDCG؟ ببساطة عشان نقدر نقارن بين الأسئلة بـ "إنصاف". فيه سؤال ممكن يكون إله 100 ملف صح وسؤال إله بس 2، الـ "طبيعي" إن السؤال الأول يجيب رقم أعلى، فإحنا بنقسم على الـ Ideal (أحسن ترتيب ممكن) عشان نخليهم كلهم في نفس الميزان بين 0 و 1.
Slide 07
ضريبة المكان (The Discount) 📉
شو هي نسبة الخصم (Discount)؟ أشهر وأهم وحدة هي 1/log₂(rank).

تخيّل معي: الملف اللي في المركز الرابع بنقسم ربحه على 2، والملف اللي في المركز الثامن بنقسم على 3. هاض يعني إنه كل ما الملف "نزل تحت" في القائمة، "عقوبة" المكان بتزيد وقيمته بتقل بالنسبة لليوزر.
Slide 08
ملخص القوانين 📝
القوانين باختصار عشان ما تضيع:
1. Cumulative Gain (CG): هاض "الطيب"؛ بجمع علامات الملفات زي ما هي بدون أي خصم.
2. Discounted Cumulative Gain (DCG): هاض "القاسي"؛ بجمع العلامات بس بعد ما يطبق "ضريبة المكان" باستخدام الـ log.
Slide 09
الصيغة الرياضية الرسمية 🏗️
هاي هي المعادلة اللي بشوفها السيستم. بنخلي أول ملف ربحه كامل (لأنه في المركز الأول)، ومن ثاني ملف وطالع بنبدأ نقسم على log₂ i (حيث i هو ترتيب الملف). هاي المعادلة هي اللي بطلع منها الأرقام اللي بنشوفها في الجداول.
Slide 10
تطبيق عملي بالأرقام 🧪
تعال نشوف كيف الأرقام بتتغير! عندنا 10 ملفات بتقييمات بين (0-3).

شوف الملف اللي في المركز الثالث تقييمه 3، بس لما انقسم على الـ log صار قيمته الفعالية 1.89. أما الملف اللي في المركز التاسع وتقييمه برضه 3، نزلت قيمته لـ 0.95! هون بنفهم إنه "المركز إله هيبة" والـ DCG بترجم هيبة المركز لأرقام حقيقية.
Slide 11
خلاصة الـ NDCG وعظمة الـ Normalization 👑
الخلاصة : الـ NDCG هو اللي خلانا نقدر نعرف قديش السيستم قريب من "الكمال". أهم نقطة هي إن السيستم المثالي (Ideal Ranking) هو اللي بيرجع الملفات اللي إلها أعلى تقييم في أول القائمة، وبعدين الأقل فالأقل. الهدف من الـ Normalization هو إننا نقدر نقارن أداء السيستم بين أسئلة مختلفة حتى لو كان عدد الملفات المفيدة مش متساوي، وعشان هيك الـ NDCG هو المقياس رقم 1 في تقييم محركات البحث العالمية اليوم.
Slide 12
تحليل أكاديمي للمثال (RF1 vs RF2) 🎓🥊
هاض المثال هو "زبدة الشابتر" ولازم نفهمه كأننا بنحل سؤال امتحان شامل. عندنا 4 ملفات وثلاث قوائم بدنا نقارن بينهم:

1. Ground Truth (GT): هاض هو "النموذج المثالي". لاحظ الترتيب [2، 2، 1، 0]. الملفات الأكثر أهمية (وزنها 2) في أول مركزين. الحسبة طلعت 4.6309، وعشان هاض هو "الأفضل" بنعطيه NDCG = 1.00. هاض الرقم هو المرجع تبعنا.

2. Ranking Function 1 (RF1): السيستم هون بدّل بين d3 و d4. بس ركز في علاماتهم؛ الاثنين إهميتهم 2. السيستم ما غلط، هو بدّل ملف ممتاز بملف ممتاز ثاني. الحسبة ضلت 4.6309 والـ NDCG ضل 1.00. القاعدة: "لو بدلت ملفين الهم نفس الدرجة، علامتك ما بتنثر".

3. Ranking Function 2 (RF2): هون بلش "التخبيص"! السيستم حط d2 (علامتها 1) في المركز الثاني، ونزل d4 (علامتها 2) للمركز الثالث. شوف الحسبة تحت:
- في الـ GT: قسمنا الـ 2 على log₂(2).
- في الـ RF2: الـ 1 انقسمت على log₂(2)، والـ 2 (اللي بتعطي علامة أكبر) انقسمت على log₂(3) يعني انخسفت قيمتها أكثر!
النتيجة طلعت 4.2619. لما قسمناها على المثالي (4.6309)، طلع السيستم جايب 0.9203. هيك بنفهم إنه الـ NDCG "بشم ريحة الغلط" في الترتيب وبخصم فوراَ لو نزلت ملف ثقيل لمركز متأخر.
Slide 13
تذكرة بالـ Average Precision (AP) 🔙
ليش حطينا هاض السلايد هون؟ عشان تتذكر الفرق! الـ AP بتعامل مع النتائج كـ "صح أو غلط" بس (أبيض وأسود). بنحسب الـ Precision فقط عند كل ملف صح.

الفرق الجوهري: الـ AP مقياس ممتاز للـ Binary relevance، بس الـ NDCG هو اللي "بفهم" درجات الصحة المختلفة (ممتاز، جيد، مقبول).
Slide 14
المثال الختامي الشامل 🎓
ركز في هالمثال لأخر مرة عشان تثبّت المعلومة:

1. عندنا ملفات بتقييمات (3، 2، 3، 0، 1). حسبنا الـ DCG وطلع 7.33.
2. عشان نطلع الـ IDCG، رتبناهم تنازلياً "صح" فصاروا [3، 3، 2، 1، 0]، والحسبة طلعت 7.77.
3. والنتيجة النهائية NDCG = 7.33 / 7.77 = 0.94.

هيك بنكون قيمنا السيستم بدقة وعرفنا إنه جاب 94% من أفضل نتيجة ممكنة! 🎉