الـ Embeddings والبحث الدلالي· الدرس 1 من 7
يعني إيه Embedding
في سطر واحد · الـ embedding هو تحويل النص لقائمة أرقام (vector) بتمثّل معناه، بحيث النصوص المتقاربة في المعنى تبقى أرقامها متقاربة.
ده الأساس اللي البحث الدلالي والـ RAG كله واقف عليه — من غير ما تفهمه، هتتعامل مع الفيكتور كصندوق أسود بيغلط ومش عارف ليه.
تخيّل خريطة كبيرة: كل جملة بتاخد نقطة عليها. الجُمل اللي معناها قريب بتقع جنب بعض، واللي معناها بعيد بتبقى في نواحي تانية خالص.
زي ما تحطّ كل كتاب في مكتبة في مكان حسب موضوعه مش حسب اسمه — الكتب المتشابهة تلاقيها على نفس الرفّ حتى لو عناوينها مختلفة.
«القطة بتاكل» و«الهرّة بتتغدّى» أرقامهم هيبقوا قريبين جدًا رغم إن مفيش كلمة مشتركة؛ لكن «القطة بتاكل» و«السيارة سريعة» هيبقوا بعيدين.
موديل الـ embedding (شبكة عصبية اتدرّبت على نصوص كتير جدًا) بياخد النص، بيقطّعه لـ tokens، وبيطلّع في الآخر فيكتور ثابت الطول — مثلًا 768 أو 1024 رقم. كل رقم لوحده مالوش معنى مباشر، لكن الفيكتور كله بيمثّل موقع النص في «فضاء المعنى». الموديل اتعلّم أثناء التدريب إنه يخلّي النصوص اللي بتظهر في سياقات متشابهة تاخد فيكتورات متقاربة. مهم جدًا: الفيكتور ده مالوش معنى إلا جوّه نفس الموديل — فيكتور من موديل A مينفعش تقارنه بفيكتور من موديل B.
🧪 جرّب بنفسك: حوّل جملتين قريبتين في المعنى وجملة تالتة بعيدة لفيكتورات، واطبع أول ١٠ أرقام من كل فيكتور. هتلاقي الأرقام نفسها مش مفهومة — بس لما تقيس التشابه بينهم هتشوف القريبين فعلًا أقرب. ده بيثبّت عندك إن المعنى في العلاقة بين الفيكتورات مش في الأرقام نفسها.
أشهر غلطة: تعمل embedding للمستندات بموديل، وبعد شهور تعمل embedding للاستعلامات بموديل تاني (أو نسخة أحدث من نفس الموديل) — النتايج بتبقى عشوائية تمامًا لأن الفضائين مختلفين. غلطة تانية: تفتكر إن الفيكتور «بيفهم» الحقائق — هو بيمثّل تشابه المعنى بس، مش صحة المعلومة. وتالتة: تعمل embedding لنص أطول من حدّ الموديل فيتقصّ من غير ما تاخد بالك.
استخدم embeddings لما عايز تقارن نصوص بالمعنى: بحث دلالي، تجميع مستندات متشابهة (clustering)، اقتراحات «محتوى شبه ده»، أو كشف التكرار حتى لو الصياغة مختلفة.
متستخدمهاش لما المطلوب تطابق حرفي دقيق — رقم فاتورة، كود خطأ، اسم API — البحث بالكلمة المفتاحية أسرع وأدق هنا. وبلاش تعتمد عليها لوحدها في الحسابات أو المنطق: الـ embedding بيقيس تشابه مش استنتاج.