الـ Embeddings: البصمة الرياضية للمعنى
إزاي الكمبيوتر بيفهم إن 'تفاحة' الفاكهة مختلفة عن 'Apple' شركة التكنولوجيا؟ السر في إحداثيات GPS عالية الأبعاد اسمها Embeddings.
أبحاث Netflix الخاصة (2016) قدّرت إن محرك التوصيات بتاعهم — المدعوم بالـ Embeddings — بيوفر لهم مليار دولار سنوياً من خلال تقليل إلغاء الاشتراكات وعرض المحتوى اللي المستخدمين بيحبوه فعلاً.
في الجزء الأول — الـ Tokens، شفنا إزاي الذكاء الاصطناعي بيقسّم الكلام لأرقام. بس الـ Token رقم #27438 (زي " Meta") هو مجرد رمز ملوش معنى في حد ذاته. عشان نحل المشكلة دي، بنحط الـ Tokens في نظام إحداثيات.
قبل ما نشوف إزاي الذكاء الاصطناعي بيشفّر السياق والمعنى، لازم الأول نفهم إزاي الأرقام بتقدر تعبّر عن التشابه.
نظام الإحداثيات
تخيل إننا بنوصف شخص باستخدام تلات أرقام بس: الطول (سم)، الوزن (كجم)، والسن (سنة).
لو مثلنا تلات أشخاص بالشكل ده:
- Alex:
[180, 75, 25] - Marcus:
[178, 74, 26] - Sarah:
[165, 60, 30]
في نظام الإحداثيات ده، Alex و Marcus هيكونوا قريبين جداً من بعض، بينما Sarah هتكون بعيدة. الذكاء الاصطناعي نجح في تجميع الأشخاص المتشابهين بناءً على الرياضيات.
لكن هنا المشكلة القاتلة: إيه لو احتجنا نعبر عن لون العين؟ أو مستوى التعليم؟ أو البلد؟ مش هنقدر نمثل الخصائص دي لأننا ببساطة خلصنا الأبعاد المتاحة لينا.
عشان نقدر نعبر عن تعقيد اللغة البشرية وسياقها، محتاجين أرقام أكتر بكثير.
بدل ما البشر يختاروا الأبعاد بنفسهم، بنسيب الذكاء الاصطناعي يكتشفها لوحده أوتوماتيكياً.
مشكلة الـ 3D
نفترض إننا بنمثل أجهزة ذكية في فضاء ثلاثي الأبعاد باستخدام: [السعر ($)، الوزن (جرام)، عدد الميزات]:
- الـ Vector:
[549, 48, 5] - السعر: $549، الوزن: 48 جرام، الميزات: 5
- الـ Vector:
[449, 72, 4] - السعر: $449، الوزن: 72 جرام، الميزات: 4
- الـ 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 بُعد
البشر ميعرفوش بالظبط البُعد رقم #89 أو #247 معناه إيه، لكن من خلال تحليل أنماط السياق في مليارات الصفحات، الـ AI بيرتب الكلمات رياضياً عشان تتطابق بدقة.
الموديل بيتعلم الأبعاد دي من خلال عملية تدريب اسمها Contrastive Learning (التدريب التعارضي).
إزاي الـ AI بيتعلم المعنى: Contrastive Learning
أثاء التدريب، بيتم عرض ملايين الأزواج من الجمل على الموديل:
حلقة التدريب التعارضي
- جمل متشابهة: "I need coffee" + "Necesito café" أو "Smart glasses" + "AR eyewear".
- النتيجة: الموديل بيقرّب إحداثيات الـ Vectors بتاعتهم من بعض في الفضاء.
- جمل مختلفة: "I need coffee" + "Je veux dormir" (عايز أنام) أو "Smart glasses" + "Running shoes".
- النتيجة: الموديل بيبعّد إحداثيات الـ Vectors بتاعتهم عن بعض في الفضاء.
بعد مليارات التكرارات، الإحداثيات دي بتستقر وبتعمل خريطة منظمة جداً للمفاهيم البشرية.
دلوقتي نقدر نقيس المسافة بين الـ Vectors دي رياضياً.
السحر عبر اللغات: Cosine Similarity
عشان نقيس مدى تقارب جملتين في الفضاء عالي الأبعاد، بنستخدم معادلة اسمها Cosine Similarity (تشابه جيب التمام). هي بتقيس الزاوية بين اتنين Vectors:
- 1.0: في نفس الاتجاه تماماً (معنى متطابق).
- 0.0: متعامدين (مفيش علاقة).
- -1.0: في اتجاهين متعاكسين تماماً.
دي درجات تشابه حقيقية محسوبة بموديل Embedding متعدد اللغات:
لاحظ الزوج الأخير: معندهمش ولا كلمة واحدة مشتركة، ومع ذلك درجة التشابه 91% لأن النية الدلالية (semantic intent) واحدة. ودي هي القوة الخارقة للـ Semantic Search.
| الدرجة | المعنى | مثال |
|---|---|---|
| 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
وجود خريطة للمعنى بيغير طريقة البحث تماماً.
تطور البحث
- الاستعلام: "جهاز لعينيّا"
- الفكرة: بيدور على نفس الحروف بالظبط.
- النتيجة: ❌ 0 نتائج (كلمة "نظارة" مفيهاش الحروف دي).
- الاستعلام: "جهاز لعينيّا"
- الفكرة: بيدور على أقرب Vectors في الفضاء.
- النتيجة: ✅ Ray-Ban Glasses (التشابه: 95%).
الرياضيات دي هي اللي بتشغل خوارزمية تيك توك وتوصيات نتفليكس. تاريخ مشاهدتك بيتحول لـ Vector، والموقع بيقترح عليك فيديوهات الـ Vectors بتاعتها قريبة منه في الفضاء.
مثال عملي بالكود: تشغيل Semantic Search في Python
تقدر تشغل موديل Embedding متعدد اللغات بالكامل محلياً على جهازك مجاناً:
# 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):
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.
الآن بعد ما قدرنا نمثل المعنى كأرقام، خلينا نشوف إزاي بيتم بناء تطبيقات الـ AI الحديثة.
قلب الـ RAG (Retrieval-Augmented Generation)
الـ Embeddings هي المحرك الأساسي لتقنية الـ RAG، واللي بتسمحلك بربط الـ LLMs ببياناتك الخاصة.
جرّبها في دماغك
لو بعتنا كلمتين لموديل الـ Embedding:
- "Apple" (الفاكهة)
- "Apple" (شركة التكنولوجيا)
هل الـ Vectors بتاعتهم هتكون قريبة ولا بعيدة في فضاء الـ Embedding؟
▶▶ اكشف الإجابة
هتكون بعيدة جداً.
في موديلات الـ Transformer الحديثة، الـ Embeddings بتكون سياقية (contextual). كلمة "Apple" (الفاكهة) بتظهر جنب كلمات زي orchard, eat, tree, pie, juice, red. بينما كلمة "Apple" (الشركة) بتظهر جنب كلمات زي MacBook, stock, iPhone, App Store, CEO, Tim Cook.
ولأن السياق المحيط بيهم مختلف تماماً، بيتم تعيين نقطتين بعيدتين تماماً ليهم في نظام الإحداثيات، بالرغم من تطابق الحروف.
مفاهيم خاطئة شائعة
أهم النقاط
- ✓الـ Embeddings بتحول النصوص والصور لقايمة من الأرقام اسمها Vectors.
- ✓الكلمات والجمل اللي ليها معاني متشابهة بتكون قريبة من بعض في فضاء الـ Vectors.
- ✓الـ AI بيتعلم الأبعاد دي أوتوماتيكياً عبر الـ Contrastive Learning على مليارات الأمثلة.
- ✓حساب الـ Cosine Similarity بيقيس الزاوية بين الـ Vectors (1.0 = معنى متطابق، 0.1 = غير مترابط).
- ✓الـ Embeddings هي القوة المحركة للبحث الدلالي، أنظمة التوصيات، والـ RAG.
- ✓تقدر تحميل وتشغل موديلات Embedding متعددة اللغات محلياً على جهازك مجاناً وبسرعة.
التالي في السلسلة
الجزء الثالث — قواعد بيانات الـ Vector: اكتشف إزاي قواعد بيانات الـ Vector بتقدر تفهرس وتبحث في ملايين الـ Vectors عالية الأبعاد في أقل من ميلي ثانية. اقرأ الجزء الثالث ←