نمذجة اللغة
التضمينات الدلالية، مثل Word2Vec وGloVe، هي فعلًا أول خطوة باتجاه نمذجة اللغة: نبني نماذج تقدر تفهم طبيعة اللغة، أو على الأقل تمثّلها.
الفكرة الأساسية في نمذجة اللغة إننا ندرّب النماذج على مجموعات بيانات ما عليها تسميات، وبطريقة غير خاضعة للإشراف. هالنقطة مهمة لأن النصوص اللي ما عليها تسميات متوفرة بكميات هائلة، بينما كمية النصوص المصنّفة تظل محدودة بالوقت والجهد اللي نقدر نحطه في التصنيف. وغالبًا نقدر نبني نماذج لغة تتنبأ بالكلمات الناقصة من النص؛ لأن إخفاء كلمة عشوائية واستخدامها عينة تدريب شغلة سهلة.
تدريب التضمينات
في الأمثلة اللي راحت استخدمنا تضمينات دلالية مدرّبة مسبقًا. والحين خلونا نشوف كيف ندرّب هالتضمينات بأنفسنا. عندنا أكثر من فكرة:
- نمذجة اللغة بـ N-Gram: نتنبأ بالرمز بالنظر إلى آخر N رموز قبله (N-gram).
- نموذج حقيبة الكلمات المستمر (CBoW): نتنبأ بالرمز الأوسط W0 ضمن تسلسل الرموز W−N, ..., WN.
- Skip-gram: نتنبأ بالرموز المجاورة {W−N,…,W−1,W} انطلاقًا من الرمز الأوسط .
وصف الشكل: صورة من بحث يشرح تحويل الكلمات إلى متجهات
الصورة مأخوذة من هالبحث.
✍️ دفاتر تطبيقية: تدريب نموذج CBoW
كملوا التعلّم بهالدفترين:
الخلاصة
شفنا في الدرس اللي فات إن تضمينات الكلمات تعطي نتائج كأنها سحر! والحين عرفنا إن تدريبها مب معقّد لهالدرجة، ونقدر عند الحاجة ندرّب تضميناتنا على نصوص خاصة بمجال معيّن.
المراجعة والتعلّم الذاتي
في المختبر، بنتحداكم تعدّلون كود هالدرس عشان يدرّب نموذج Skip-Gram بدل CBoW. اقروا التفاصيل.