Embedding (NLP) — تضمين
التضمين (Embedding، من الإنجليزية وتعني «الغرس» أو «الإدراج») هو تقنية أساسية في مجال تعلم الآلة ومعالجة اللغات الطبيعية، تعمل على تحويل الكائنات المتقطعة أو المعقدة (مثل الكلمات والجمل والصور) إلى تمثيلات متجهة رقمية ذات أبعاد ثابتة. تتوضع هذه المتجهات، أو التضمينات، في فضاء متعدد الأبعاد بحيث تكون الكائنات المتشابهة دلاليًا قريبة من بعضها البعض.
التعريف والمفهوم
بشكل رسمي، التضمين هو دالة إسقاط ، حيث هو فضاء الكائنات الأصلي (على سبيل المثال، قاموس من الكلمات)، و هو فضاء متجهي متعدد الأبعاد (فضاء التضمينات) ذو بعد . يكون البعد أصغر بكثير من بعد الفضاء الأصلي، مما يجعل هذه التمثيلات كثيفة (dense).
الأساس النظري للتمثيلات المتجهة للكلمات هو علم الدلالة التوزيعي، الذي ينص على أن معنى الكلمة يتحدد من خلال سياق استخدامها. أي أن الكلمات التي تظهر في سياقات متشابهة لها معانٍ متقاربة، وبالتالي تمثيلات متجهة متقاربة.
المبادئ الأساسية للتضمينات
- أبعاد ثابتة: يتم إسقاط جميع الكائنات إلى متجهات بنفس الطول، بغض النظر عن حجم البيانات الأصلية (على سبيل المثال، طول الجملة).
- التقارب الدلالي: تعكس المسافة بين المتجهات (والتي غالبًا ما تُقاس باستخدام تشابه جيب التمام) التقارب الدلالي للكائنات الأصلية.
- دعم العمليات الرياضية: تحافظ المتجهات على العلاقات الدلالية، مما يسمح بإجراء عمليات جبرية عليها. المثال الكلاسيكي هو: .
التاريخ والتطور
المناهج المبكرة (الثمانينيات - العقد الأول من القرن الحادي والعشرين)
ظهرت الأفكار الأولى للتمثيلات المتجهة في الثمانينيات ضمن أبحاث الشبكات العصبية. اعتمدت الأساليب المبكرة على التحليل الإحصائي للتكرار المشترك للكلمات.
عصر Word2Vec (2013)
كانت اللحظة الثورية هي تطوير Word2Vec من قبل فريق Google بقيادة توماس ميكولوف في عام 2013. اقترح Word2Vec بنيتين معماريتين فعالتين وغير مكلفتين حسابيًا لتدريب تضمينات الكلمات:
- CBOW (Continuous Bag of Words): تتنبأ بالكلمة المركزية بناءً على السياق المحيط بها.
- Skip-gram: تتنبأ بكلمات السياق بناءً على الكلمة المركزية.
أصبح Word2Vec أول تطبيق شائع للتمثيلات المتجهة، ويرجع الفضل في ذلك إلى حد كبير إلى كونه مفتوح المصدر وسرعته العالية في الأداء.
تطور المناهج البديلة
بعد Word2Vec، ظهرت نماذج أخرى مهمة للتضمينات الثابتة:
- GloVe (2014): نموذج تم تطويره في جامعة ستانفورد، يستخدم إحصائيات عالمية للتكرار المشترك للكلمات لتدريب المتجهات.
- FastText (2015): نموذج من Facebook يأخذ في الاعتبار مورفولوجيا الكلمات، حيث يمثل كل كلمة كمجموع لمتجهات N-grams المكونة لها. هذا يسمح بإنشاء تضمينات حتى للكلمات التي لم تكن موجودة في قاموس التدريب (Out-of-Vocabulary words).
عصر المحولات والتضمينات السياقية (2018 - حتى الآن)
حدث التقدم الكبير مع ظهور بنية المحولات (Transformers) ونموذج BERT (2018). أدى هذا إلى ظهور التضمينات السياقية، حيث يعتمد التمثيل المتجه للكلمة على سياق استخدامها. على عكس التمثيلات الثابتة، حيث يكون لكلمة «مفتاح» نفس المتجه في جمل مثل «مفتاح الباب» و«المفتاح الصول»، تولد النماذج السياقية تضمينات مختلفة لكل حالة.
أنواع التضمينات
حسب مستوى التمثيل
- تضمينات الكلمات: النوع الأساسي، حيث يتم تمثيل كل كلمة بمتجه منفصل (Word2Vec, GloVe).
- تضمينات الجمل والمستندات: تمثل عبارات أو جملًا أو مستندات كاملة بمتجه واحد (PV-DM, PV-DBOW).
- تضمينات المستخدمين والعناصر: تستخدم في أنظمة التوصية لتمثيل اهتمامات المستخدمين وخصائص المنتجات.
حسب السياق
- التضمينات الثابتة: يتم تعيين متجه ثابت واحد لكل كلمة، بغض النظر عن السياق (Word2Vec, GloVe, FastText).
- التضمينات السياقية: تولد تمثيلات مختلفة لنفس الكلمة اعتمادًا على محيطها. الممثلون الرئيسيون:
- BERT: نموذج ثنائي الاتجاه يعتمد على المحولات.
- ELMo: نموذج LSTM ثنائي الاتجاه.
- RoBERTa, DistilBERT, ALBERT: نسخ محسنة من BERT.
حسب الوسائط (Modality)
- التضمينات النصية: النوع الأكثر شيوعًا، ويشمل تمثيلات الكلمات والجمل والمستندات.
- التضمينات المرئية: تمثيلات الصور لمهام رؤية الحاسوب.
- التضمينات متعددة الوسائط: تجمع بين أنواع مختلفة من البيانات (النص، الصور، الصوت) في فضاء متجهي واحد. مثال على ذلك ImageBind، القادر على ربط البيانات من ست وسائط مختلفة.
البنى المعمارية وأساليب التدريب
الأساليب الكلاسيكية
- ترميز One-hot: أبسط طريقة، حيث يتم ترميز كل كلمة بمتجه بحجم القاموس يحتوي على واحد في الموضع المقابل. العيوب: التشتت العالي (high sparsity) وغياب المعلومات الدلالية.
- تحليل المصفوفات: أساليب تقليل الأبعاد (مثل LSA)، المطبقة على مصفوفات التكرار المشترك للكلمات.
البنى المعمارية للشبكات العصبية
- الشبكات العصبية الضحلة: تستخدم البنى المعمارية CBOW و Skip-gram في Word2Vec شبكات عصبية من طبقتين للتدريب الفعال.
- المحولات (Transformers): بنية معمارية أحدثت ثورة في هذا المجال بفضل آلية الانتباه (attention).
المناهج الحديثة
- التعلم الذاتي باستخدام الأقنعة: يستخدم BERT مهمة التنبؤ بالكلمات المقنّعة لتدريب التمثيلات السياقية.
- التعلم التبايني (Contrastive learning): أساليب تهدف إلى زيادة التشابه بين الأزواج المتقاربة دلاليًا (إيجابية) وتقليل التشابه بين الأزواج المتباعدة (سلبية).
تطبيقات التضمينات
تجد التضمينات تطبيقات واسعة في مجالات مختلفة:
معالجة اللغات الطبيعية
- البحث واسترجاع المعلومات: تحسين جودة البحث الدلالي، مما يسمح بالعثور على المستندات حسب المعنى وليس الكلمات المفتاحية.
- تصنيف النصوص: تعمل التمثيلات المتجهة كمدخلات للمصنفات، مما يزيد من دقتها.
- تحليل المشاعر: تحديد الصبغة العاطفية للنصوص مع مراعاة السياق.
- الترجمة الآلية: تحسين فهم دلالات اللغة المصدر واللغة الهدف.
أنظمة التوصية
تُعد تضمينات المستخدمين والمنتجات أساس أنظمة التوصيات المخصصة، بما في ذلك:
- الترشيح التعاوني: بناءً على تضمينات سلوك المستخدم.
- الترشيح القائم على المحتوى: باستخدام تضمينات خصائص المنتجات.
رؤية الحاسوب
- تصنيف الصور والبحث فيها: تقوم الشبكات العصبية التلافيفية ومحولات الرؤية (Vision Transformers) بإنشاء تضمينات للصور لتصنيفها والبحث عن الصور المتشابهة بصريًا.
المعلوماتية الحيوية والطب
- تحليل البيانات الطبية: تحليل السجلات السريرية وتشخيص الأمراض.
- التمثيلات الجزيئية: إنشاء تضمينات للتنبؤ بخصائص المركبات الكيميائية.
الجوانب التقنية والتحسين
- أساليب تحسين الأبعاد: Matryoshka Representation Learning (MRL) — نهج مبتكر يسمح بالحصول على تضمينات بأبعاد مختلفة من نموذج واحد، مع تركيز المعلومات المهمة في بداية المتجه.
- تكميم التضمينات (Quantization): تقليل دقة تمثيل الأرقام (على سبيل المثال، إلى 8 أو 4 بتات) لتسريع العمليات الحسابية وتوفير الذاكرة.
- التكامل مع قواعد البيانات: تتيح قواعد البيانات المتجهة الحديثة (مثل Milvus, Pinecone) والملحقات لأنظمة إدارة قواعد البيانات التقليدية (مثل pgvector لـ PostgreSQL) تخزين التضمينات والبحث فيها بكفاءة.
روابط خارجية
- التمثيل المتجه للكلمات — ويكيبيديا
- التمثيل المتجه للكلمات — NEERC
المراجع
- Mikolov, T. et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.
- Mikolov, T. et al. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546.
- Pennington, J.; Socher, R.; Manning, C. (2014). GloVe: Global Vectors for Word Representation. PDF.
- Bojanowski, P. et al. (2017). Enriching Word Vectors with Subword Information. arXiv:1607.04606.
- Joulin, A. et al. (2017). Bag of Tricks for Efficient Text Classification. arXiv:1607.01759.
- Peters, M. E. et al. (2018). Deep Contextualized Word Representations. ACL Anthology.
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Reimers, N.; Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. arXiv:1908.10084.
- Kusupati, A. et al. (2022). Matryoshka Representation Learning. arXiv:2205.13147.
- Radford, A. et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. PMLR 139.
- Girdhar, R. et al. (2023). ImageBind: One Embedding Space To Bind Them All. CVPR 2023.