Skip to main content
AI-Developer/AI Fundamentals
Part 1 of 2

الـ Embeddings: إزاي الذكاء الاصطناعي بيفهم العالم من غير ما يقرا كلمة واحدة

لو الذكاء الاصطناعي مش بيقرا كلام، إزاي بيعرف إن 'تفاحة' الفاكهة مختلفة عن 'Apple' الشركة؟ السر في خدعة رياضية اسمها Embeddings.

١٢ مارس ٢٠٢٦
١٢ دقيقة قراءة
#AI#Embeddings#Vectors#Semantic Search#LLM#Meaning

الـ Embeddings: البصمة الرياضية للمعنى

إزاي الكمبيوتر بيفهم إن 'تفاحة' الفاكهة مختلفة عن 'Apple' شركة التكنولوجيا؟ السر في إحداثيات GPS عالية الأبعاد اسمها Embeddings.

Primary Objective
بعد قراءة المقال ده، هتفهم إزاي نماذج الذكاء الاصطناعي بتشفّر المعنى، وإزاي بتقيس التشابه رياضياً، وإزاي تستغل ده لبناء تطبيقات متطورة زي الـ RAG والـ Semantic Search.
💡
خدعة رياضية بمليار دولار

أبحاث Netflix الخاصة (2016) قدّرت إن محرك التوصيات بتاعهم — المدعوم بالـ Embeddings — بيوفر لهم مليار دولار سنوياً من خلال تقليل إلغاء الاشتراكات وعرض المحتوى اللي المستخدمين بيحبوه فعلاً.

في الجزء الأول — الـ Tokens، شفنا إزاي الذكاء الاصطناعي بيقسّم الكلام لأرقام. بس الـ Token رقم #27438 (زي " Meta") هو مجرد رمز ملوش معنى في حد ذاته. عشان نحل المشكلة دي، بنحط الـ Tokens في نظام إحداثيات.

Phase 1 of 5

قبل ما نشوف إزاي الذكاء الاصطناعي بيشفّر السياق والمعنى، لازم الأول نفهم إزاي الأرقام بتقدر تعبّر عن التشابه.


نظام الإحداثيات

تخيل إننا بنوصف شخص باستخدام تلات أرقام بس: الطول (سم)، الوزن (كجم)، والسن (سنة).

لو مثلنا تلات أشخاص بالشكل ده:

  • Alex: [180, 75, 25]
  • Marcus: [178, 74, 26]
  • Sarah: [165, 60, 30]
الطول مقابل الوزن — شريحة ثنائية الأبعاد
Alex [180, 75, 25]
Marcus [178, 74, 26]
Sarah [165, 60, 30]
الطول (سم)
الوزن (كجم)

في نظام الإحداثيات ده، Alex و Marcus هيكونوا قريبين جداً من بعض، بينما Sarah هتكون بعيدة. الذكاء الاصطناعي نجح في تجميع الأشخاص المتشابهين بناءً على الرياضيات.

لكن هنا المشكلة القاتلة: إيه لو احتجنا نعبر عن لون العين؟ أو مستوى التعليم؟ أو البلد؟ مش هنقدر نمثل الخصائص دي لأننا ببساطة خلصنا الأبعاد المتاحة لينا.

عشان نقدر نعبر عن تعقيد اللغة البشرية وسياقها، محتاجين أرقام أكتر بكثير.

Phase 2 of 5

بدل ما البشر يختاروا الأبعاد بنفسهم، بنسيب الذكاء الاصطناعي يكتشفها لوحده أوتوماتيكياً.


مشكلة الـ 3D

نفترض إننا بنمثل أجهزة ذكية في فضاء ثلاثي الأبعاد باستخدام: [السعر ($)، الوزن (جرام)، عدد الميزات]:

Ray-Ban Smart Glasses
  • الـ Vector: [549, 48, 5]
  • السعر: $549، الوزن: 48 جرام، الميزات: 5
Xreal Air 3 Glasses
  • الـ Vector: [449, 72, 4]
  • السعر: $449، الوزن: 72 جرام، الميزات: 4
Galaxy Smart Ring
  • الـ Vector: [349, 3, 4]
  • السعر: $349، الوزن: 3 جرام، الميزات: 4

في الفضاء ده، نظارات Ray-Ban و Xreal هيتجمعوا قريبين من بعض، بينما Galaxy Ring هيكون بعيد.

ولكن إيه لو احتجنا نمثل عمر البطارية؟ أو جودة الكاميرا؟ أو الترجمة الفورية؟ الأبعاد التلاتة مش كفاية.


من Vector لـ Embedding: التحفة الفنية

لما البشر يختاروا الخصائص بنفسهم (الطول، الوزن، السعر)، ده بيكون Vector عادي. لما الـ AI يقرا الإنترنت كله ويحدد الخصائص دي رياضياً بنفسه؟ ده هو الـ Embedding.

بدل 3 خصائص بس، الموديل بيحدد قايمة طويلة من 384 لـ 3,072 رقم بتمثل البصمة الرقمية للمعنى.

  • الموديلات الصغيرة: 384 بُعد
  • الموديلات المتوسطة: 768 بُعد
  • الموديلات الكبيرة: 3,072 بُعد
إيه اللي اتعلمه الموديل عن نظارة Ray-Ban Smart Glasses
92
قابلية الارتداء (#89)
84
الإلكترونية (#247)
71
البصرية (#512)
4
قابلية الأكل (#33)

البشر ميعرفوش بالظبط البُعد رقم #89 أو #247 معناه إيه، لكن من خلال تحليل أنماط السياق في مليارات الصفحات، الـ AI بيرتب الكلمات رياضياً عشان تتطابق بدقة.

Phase 3 of 5

الموديل بيتعلم الأبعاد دي من خلال عملية تدريب اسمها Contrastive Learning (التدريب التعارضي).


إزاي الـ AI بيتعلم المعنى: Contrastive Learning

أثاء التدريب، بيتم عرض ملايين الأزواج من الجمل على الموديل:

حلقة التدريب التعارضي

🧲التقريب (PULLING - معاني متشابهة)
  • جمل متشابهة: "I need coffee" + "Necesito café" أو "Smart glasses" + "AR eyewear".
  • النتيجة: الموديل بيقرّب إحداثيات الـ Vectors بتاعتهم من بعض في الفضاء.
🚫التباعد (PUSHING - معاني مختلفة)
  • جمل مختلفة: "I need coffee" + "Je veux dormir" (عايز أنام) أو "Smart glasses" + "Running shoes".
  • النتيجة: الموديل بيبعّد إحداثيات الـ Vectors بتاعتهم عن بعض في الفضاء.

بعد مليارات التكرارات، الإحداثيات دي بتستقر وبتعمل خريطة منظمة جداً للمفاهيم البشرية.

Phase 4 of 5

دلوقتي نقدر نقيس المسافة بين الـ Vectors دي رياضياً.


السحر عبر اللغات: Cosine Similarity

عشان نقيس مدى تقارب جملتين في الفضاء عالي الأبعاد، بنستخدم معادلة اسمها Cosine Similarity (تشابه جيب التمام). هي بتقيس الزاوية بين اتنين Vectors:

  • 1.0: في نفس الاتجاه تماماً (معنى متطابق).
  • 0.0: متعامدين (مفيش علاقة).
  • -1.0: في اتجاهين متعاكسين تماماً.

دي درجات تشابه حقيقية محسوبة بموديل Embedding متعدد اللغات:

Necesito café ↔ I need coffee97%
I need coffee ↔ Je veux dormir12%
reset password ↔ forgot login credentials91%

لاحظ الزوج الأخير: معندهمش ولا كلمة واحدة مشتركة، ومع ذلك درجة التشابه 91% لأن النية الدلالية (semantic intent) واحدة. ودي هي القوة الخارقة للـ Semantic Search.

💡
مرجع سريع لدرجات Cosine Similarity
الدرجةالمعنىمثال
0.95+معنى متطابق في كلمات/لغات مختلفة"I need coffee" vs "Necesito café"
0.70 – 0.90مفاهيم مترابطة بقوة"Smart glasses" vs "AR eyewear"
0.30 – 0.60مفاهيم مترابطة بشكل ضعيف"Smart glasses" vs "Wearable tech"
< 0.30مفاهيم غير مترابطة"I need coffee" vs "Je veux dormir"

Semantic Search vs. Keyword Search

وجود خريطة للمعنى بيغير طريقة البحث تماماً.

تطور البحث

🔍البحث بالكلمات المفتاحية (Keyword Search)
  • الاستعلام: "جهاز لعينيّا"
  • الفكرة: بيدور على نفس الحروف بالظبط.
  • النتيجة: ❌ 0 نتائج (كلمة "نظارة" مفيهاش الحروف دي).
🤖البحث الدلالي (Semantic Search)
  • الاستعلام: "جهاز لعينيّا"
  • الفكرة: بيدور على أقرب Vectors في الفضاء.
  • النتيجة: ✅ Ray-Ban Glasses (التشابه: 95%).

الرياضيات دي هي اللي بتشغل خوارزمية تيك توك وتوصيات نتفليكس. تاريخ مشاهدتك بيتحول لـ Vector، والموقع بيقترح عليك فيديوهات الـ Vectors بتاعتها قريبة منه في الفضاء.


مثال عملي بالكود: تشغيل Semantic Search في Python

تقدر تشغل موديل Embedding متعدد اللغات بالكامل محلياً على جهازك مجاناً:

python
12345678910111213141516171819202122232425262728293031
# Install dependencies first:
# %pip install sentence-transformers scikit-learn

from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity

# تحميل موديل Embedding خفيف ومتعدد اللغات
encoder = SentenceTransformer('paraphrase-multilingual-MiniLM-L12-v2')

# كتالوج المنتجات المتاحة عندنا
devices = [
    "Ray-Ban Meta Ultra - Smart glasses with camera and translation",
    "Sony LinkBuds Open - Lightweight earbuds with translation",
    "Garmin Fenix 9 - Rugged sports watch for running",
]

# الخطوة 1: تحويل جمل الكتالوج لـ Vectors (Embeddings)
device_embeddings = encoder.encode(devices)

# الخطوة 2: تحويل استعلام المستخدم
query = "I want something very light for translating that isn't too expensive"
query_embedding = encoder.encode(query)

# الخطوة 3: حساب درجات التشابه (Cosine Similarity) بين الاستعلام والكتالوج
scores = cosine_similarity([query_embedding], device_embeddings)[0]

# الخطوة 4: ترتيب وعرض النتائج
print(f"Query: \"{query}\"\n")
ranked = scores.argsort()[::-1]
for i in ranked:
    print(f"  {scores[i]:.3f}  {devices[i]}")

المخرجات (Output):

text
12345
Query: "I want something very light for translating that isn't too expensive"

  0.421  Sony LinkBuds Open - Lightweight earbuds with translation
  0.287  Ray-Ban Meta Ultra - Smart glasses with camera and translation
  0.031  Garmin Fenix 9 - Rugged sports watch for running

رغم إن المستخدم مكتبش "earbuds" ولا "Sony" ولا "LinkBuds"، الموديل فهم إن Sony LinkBuds هي الأقرب بسبب العلاقة الدلالية بين light/translating و lightweight/translation.

Phase 5 of 5

الآن بعد ما قدرنا نمثل المعنى كأرقام، خلينا نشوف إزاي بيتم بناء تطبيقات الـ AI الحديثة.


قلب الـ RAG (Retrieval-Augmented Generation)

الـ Embeddings هي المحرك الأساسي لتقنية الـ RAG، واللي بتسمحلك بربط الـ LLMs ببياناتك الخاصة.

📄
1. مصدر البيانات
ملفات الشركة، PDFs، أو سجلات قواعد البيانات.
🧬
2. تحويل الـ Vectors
تقسيم النصوص وتحويلها لـ Embeddings رقمية.
🗄️
3. قاعدة بيانات Vectors
تخزين الـ Vectors واسترجاع الأقرب للاستعلام عبر حساب Cosine.
🤖
4. التوليد (Generation)
يقوم الـ LLM بكتابة إجابة دقيقة مبنية على النص المسترجع.

جرّبها في دماغك

لو بعتنا كلمتين لموديل الـ Embedding:

  • "Apple" (الفاكهة)
  • "Apple" (شركة التكنولوجيا)

هل الـ Vectors بتاعتهم هتكون قريبة ولا بعيدة في فضاء الـ Embedding؟

▶ اكشف الإجابة

هتكون بعيدة جداً.

في موديلات الـ Transformer الحديثة، الـ Embeddings بتكون سياقية (contextual). كلمة "Apple" (الفاكهة) بتظهر جنب كلمات زي orchard, eat, tree, pie, juice, red. بينما كلمة "Apple" (الشركة) بتظهر جنب كلمات زي MacBook, stock, iPhone, App Store, CEO, Tim Cook.

ولأن السياق المحيط بيهم مختلف تماماً، بيتم تعيين نقطتين بعيدتين تماماً ليهم في نظام الإحداثيات، بالرغم من تطابق الحروف.


مفاهيم خاطئة شائعة

❌ The Myth
الذكاء الاصطناعي بيفهم المعنى الحقيقي للكلمات زي البشر.
✅ The Reality
نماذج الـ AI مابتفهمش المفاهيم بشكل واعي. هي بتمثل العلاقات الإحصائية لظهور الكلمات في السياق. ده مطابقة أنماط متقدمة، مش استيعاب حقيقي.
❌ The Myth
الكلمة دايماً بتتحول لنفس الـ Vector في كل الحالات.
✅ The Reality
السياق بيغير الإحداثيات. النماذج الحديثة بتولد Embeddings معتمدة على السياق، فـ 'Apple' في سياق الفاكهة و'Apple' في سياق أسهم التكنولوجيا ليهم Vectors مختلفة تماماً.
❌ The Myth
لازم تترجم النصوص للإنجليزي الأول عشان تقدر تقارنهم.
✅ The Reality
نماذج الـ Embedding متعددة اللغات بتعرض لغات كتير في نفس الفضاء الدلالي المشترك. المعنى عابر للغات في الأبعاد العالية.

أهم النقاط

إيه اللي اتعلمه
  • الـ Embeddings بتحول النصوص والصور لقايمة من الأرقام اسمها Vectors.
  • الكلمات والجمل اللي ليها معاني متشابهة بتكون قريبة من بعض في فضاء الـ Vectors.
  • الـ AI بيتعلم الأبعاد دي أوتوماتيكياً عبر الـ Contrastive Learning على مليارات الأمثلة.
  • حساب الـ Cosine Similarity بيقيس الزاوية بين الـ Vectors (1.0 = معنى متطابق، 0.1 = غير مترابط).
  • الـ Embeddings هي القوة المحركة للبحث الدلالي، أنظمة التوصيات، والـ RAG.
  • تقدر تحميل وتشغل موديلات Embedding متعددة اللغات محلياً على جهازك مجاناً وبسرعة.

التالي في السلسلة

💡
خريطة الطريق للسلسلة

الجزء الثالث — قواعد بيانات الـ Vector: اكتشف إزاي قواعد بيانات الـ Vector بتقدر تفهرس وتبحث في ملايين الـ Vectors عالية الأبعاد في أقل من ميلي ثانية. اقرأ الجزء الثالث ←

MH

Mohamed Hamed

20 years building production systems — the last several deep in AI integration, LLMs, and full-stack architecture. I write what I've actually built and broken. If this was useful, the next one goes to LinkedIn first.

Follow on LinkedIn →