المستوى: مبتدئ
Embedding Models للمبتدئ: ازاي الجملة العربية تتحوّل لـ 1,536 رقم وتلاقي المعنى المشابه
لو سألت قاعدة بياناتك "هاتلي كل المنتجات اللي شبه iPhone 15"، الـ SQL العادي بـ LIKE '%iPhone%' هيرجّعلك صفر نتيجة عن "Galaxy S24 Ultra" رغم إن الاتنين موبايلات flagship بنفس الفئة. Embedding Models بتحوّل النصوص لأرقام بتحمل المعنى نفسه، فبحثك بيلاقي المتشابه دلالياً مش حرفياً، وده اللي بيخلّي ChatGPT و Claude يفهموا سؤالك بأي صياغة.
المشكلة باختصار
كل تطبيق بحث تقليدي بيقارن حروف. لو المستخدم كتب "موبايل سامسونج"، الـ DB مش هتلاقي "هاتف Galaxy" رغم إن المعنى واحد بالظبط. مع انتشار chatbots والبحث الذكي، الناس بقت بتسأل بصياغات حرة ومختصرة. الـ Embedding هو الجسر اللي بيخلّي الكمبيوتر يفهم إن "تليفون كاميرته حلوة" و "iPhone 15 Pro بكاميرا 48 ميجابكسل" قريبين في المعنى رغم اختلاف كل الكلمات تقريباً.
التمثيل التقريبي: خريطة معاني بدل قاموس
تخيّل ساحة كبيرة فيها كل كلمات اللغة العربية محطوطة كنقاط. الكلمات اللي معناها قريب نقاطها قريبة من بعض. "موبايل" و "هاتف" نقطتين متقاربتين. "موبايل" و "ثلاجة" نقطتين بعيدتين. الساحة دي ليها 1,536 بُعد (مش 2 ولا 3) في موديل text-embedding-3-small من OpenAI، أو 1,024 بُعد في Cohere embed-multilingual-v3. عقلنا مش قادر يتخيّل 1,536 بُعد، بس الكمبيوتر بيتعامل معاها كصفّ أرقام عادي.
كل جملة بتاخد إحداثياتها (vector) في الساحة دي. لما تيجي تدور على "إيه أفضل تليفون 2026"، الموديل بيحوّل سؤالك لنقطة في نفس الساحة، وبعدين بيدوّر على أقرب 5 نقاط، فيرجّعلك نتائج بمعنى السؤال مش بحروفه.
التعريف العلمي: من نص لـ Vector
Embedding Model عبارة عن شبكة عصبية معمارها Transformer، متدرّبة على مليارات الجمل من ويب متعدد اللغات. مهمتها: لكل قطعة نص (sentence) تنتج متجه (vector) بطول ثابت، بحيث المتجهات للجمل المتشابهة تبقى قريبة بمقياس Cosine Similarity. المعادلة بسيطة:
similarity = (A · B) / (|A| × |B|)
# قيمة بين -1 و 1. أقرب لـ 1 يعني أقرب في المعنى
التدريب بيتم عبر contrastive learning: بنورّي الموديل زوج جمل متشابهة (positive pair) ونقوله "خلّي المتجهين قريبين"، وزوج مختلف (negative pair) "خلّيهم بعاد". بعد بلايين الأمثلة، الموديل بيتعلّم تمثيل دلالي حقيقي، مش بس مطابقة حروف.
مثال كود شغّال: ابحث دلالياً في 25 سطر Python
هاتفصّل مثال واقعي. عندك 5 منتجات في متجر إلكتروني، عايز تدوّر بـ "تليفون كاميرته حلوة" وتلاقي iPhone 15 رغم إن كلمة "كاميرته" مش موجودة حرفياً في وصف المنتج (الوصف بيقول "كاميرا").