|
|
||
|---|---|---|
| .. | ||
| lab | ||
| CBoW-PyTorch.ipynb | ||
| CBoW-TF.ipynb | ||
| README.md | ||
README.md
نمذجة اللغة
التضمينات الدلالية، مثل Word2Vec وGloVe، تُعتبر في الواقع خطوة أولى نحو نمذجة اللغة - إنشاء نماذج تفهم (أو تمثل) طبيعة اللغة بطريقة ما.
اختبار ما قبل المحاضرة
الفكرة الرئيسية وراء نمذجة اللغة هي تدريبها على مجموعات بيانات غير معنونة بطريقة غير خاضعة للإشراف. هذا مهم لأن لدينا كميات هائلة من النصوص غير المعنونة المتاحة، بينما تكون كمية النصوص المعنونة محدودة دائمًا بسبب الجهد المطلوب لتصنيفها. غالبًا ما يمكننا بناء نماذج لغة تستطيع توقع الكلمات المفقودة في النص، لأن من السهل إخفاء كلمة عشوائية في النص واستخدامها كعينة تدريب.
تدريب التضمينات
في الأمثلة السابقة، استخدمنا تضمينات دلالية مُدربة مسبقًا، ولكن من المثير للاهتمام أن نرى كيف يمكن تدريب هذه التضمينات. هناك عدة أفكار يمكن استخدامها:
- نمذجة اللغة باستخدام N-Gram، حيث نتوقع رمزًا معينًا من خلال النظر إلى N رموز سابقة (N-gram).
- كيس الكلمات المستمر (CBoW)، حيث نتوقع الرمز الأوسط
W_0في سلسلة الرموزW_{-N}, ...,W_N. - Skip-gram، حيث نتوقع مجموعة من الرموز المجاورة {
W_{-N},\dots, W_{-1}, W_1,\dots, W_N} من الرمز الأوسطW_0.
صورة مأخوذة من هذه الورقة البحثية
✍️ دفاتر أمثلة: تدريب نموذج CBoW
واصل التعلم من خلال دفاتر الملاحظات التالية:
الخاتمة
في الدرس السابق، رأينا أن تضمينات الكلمات تعمل بشكل مذهل! الآن نعلم أن تدريب تضمينات الكلمات ليس مهمة معقدة جدًا، ويجب أن نكون قادرين على تدريب تضمينات الكلمات الخاصة بنا للنصوص المتخصصة إذا لزم الأمر.
اختبار ما بعد المحاضرة
المراجعة والدراسة الذاتية
- الدرس الرسمي لـ PyTorch حول نمذجة اللغة.
- الدرس الرسمي لـ TensorFlow حول تدريب نموذج Word2Vec.
- استخدام إطار العمل gensim لتدريب التضمينات الأكثر استخدامًا في بضعة أسطر من الكود موضح في هذه الوثيقة.
🚀 مهمة: تدريب نموذج Skip-Gram
في المختبر، نتحداك لتعديل الكود من هذا الدرس لتدريب نموذج Skip-Gram بدلاً من CBoW. اقرأ التفاصيل
