Embedding والاسترجاع المتجهي
مقدمة
كيف يفهم الكمبيوتر أن "القط والكلب متشابهان، لكنهما ليسا مثل السيارة"؟ بالنسبة للبشر هذا أمر بديهي، لكن بالنسبة للكمبيوتر، "قط" و"كلب" و"سيارة" ليست سوى ثلاثة نصوص غير مرتبطة. تقنية Embedding (التضمين) هي المفتاح لحل هذه المشكلة - تحول النص إلى متجهات رقمية، ليفهم الكمبيوتر أيضًا "القرب والبعد" الدلالي.
ماذا ستتعلم في هذا المقال؟
بعد إكمال هذا الفصل، ستكتسب:
- فهم بديهي: معرفة ما هو Embedding، ولماذا تكون متجهات "قط" و"كلب" متقاربة
- حساب التشابه: إتقان طرق القياس الأساسية مثل تشابه جيب التمام والمسافة الإقليدية
- مبدأ الفهرسة: فهم كيفية استرجاع قواعد بيانات المتجهات في مستوى المللي ثانية من بين ملايين البيانات
- اختيار التقنية: معرفة خصائص قواعد بيانات المتجهات الرئيسية وسيناريوهاتها المناسبة
- التدفق الشامل: إتقان خط الأنابيب الكامل من النص إلى المتجه إلى الاسترجاع
| الفصل | المحتوى | المفاهيم الأساسية |
|---|---|---|
| الفصل 1 | مفهوم Embedding | الفضاء الدلالي، التمثيل المتجهي |
| الفصل 2 | حساب التشابه | تشابه جيب التمام، المسافة الإقليدية |
| الفصل 3 | فهرسة المتجهات | البحث الشامل مقابل ANN |
| الفصل 4 | قواعد بيانات المتجهات | Pinecone، Milvus، Chroma |
| الفصل 5 | خط الأنابيب الشامل | نص←متجه←تخزين←استعلام |
0. النظرة الشاملة: الجسر من النص إلى الرقم
في عالم معالجة اللغة الطبيعية، هناك تحدٍ أساسي: الكمبيوتر يتعرف فقط على الأرقام، ولا يتعرف على النص.
الطريقة المبكرة كانت تخصيص رقم لكل كلمة (ترميز One-Hot)، مثل "قط"=001، "كلب"=010، "سيارة"=100. لكن هذا له مشكلة قاتلة: المسافة بين جميع الكلمات متساوية. المسافة من "قط" إلى "كلب" ومن "قط" إلى "سيارة" متطابقة تمامًا - وهذا obviously لا يتوافق مع حدسنا.
ثورة Embedding تكمن في: أنها تعين كل كلمة إلى فضاء متجهي كثيف منخفض الأبعاد، مما يجعل الكلمات المتشابهة دلاليًا تتجمع بشكل طبيعي. في هذا الفضاء، "قط" و"كلب" قريبان جدًا، بينما "سيارة" بعيدة - الكمبيوتر أخيرًا يمكنه "فهم" الدلالة.
من One-Hot إلى Embedding: قفزة نوعية
- One-Hot: البعد = حجم القاموس (قد يصل لعشرات الآلاف)، كل متجه به 1 واحد فقط، والباقي 0، متفرق وبدون دلالة
- Embedding: البعد عادة 768~1536، كل رقم له معنى، كثيف وغني بالمعلومات الدلالية
- الاختراق الرئيسي: Word2Vec (2013) أثبت أن "معنى الكلمة يمكن تعريفه بسياقها"، فاتحًا عصر Embedding
1. مفهوم Embedding: تحويل النص إلى إحداثيات
يمكن تلخيص الفكرة الأساسية لـ Embedding في جملة واحدة: استخدام مجموعة من الأرقام (متجه) لتمثيل معنى كلمة أو جملة.
تخيل نظام إحداثيات ثنائي البعد. نضع "قط" في الإحداثيات (0.2, 0.7)، و"كلب" في (0.3, 0.6)، و"سيارة" في (0.9, 0.1). ستجد أن إحداثيات "قط" و"كلب" متقاربة جدًا، بينما "سيارة" بعيدة عنهما. هذا هو حدس Embedding - التشابه الدلالي أصبح مسافة مكانية.
Word Embedding Space Visualization
Semantically similar words stay closer in vector space and form natural clusters
💡 Embedding models map text into high-dimensional vector spaces, often 768 to 1536 dimensions. This demo simplifies that into 2D to show the core idea: semantically similar words have shorter vector distances。
ثلاث خصائص أساسية لـ Embedding
- التجمع الدلالي: الكلمات ذات المعاني المتشابهة تتجمع تلقائيًا معًا (مجموعة الحيوانات، مجموعة الطعام، مجموعة التكنولوجيا)
- علاقات التشبيه: عمليات المتجهات يمكنها التعبير عن العلاقات الدلالية، مثال كلاسيكي: king - man + woman ≈ queen
- معنى الأبعاد: كل بعد يشفر ضمنيًا ميزة دلالية معينة (مثل "هل هو حيوان"، "الحجم"، "الاتجاه العاطفي" إلخ)
| طريقة الترميز | البعد | المعلومات الدلالية | التطبيق النموذجي |
|---|---|---|---|
| One-Hot | حجم القاموس (~50000) | لا شيء | NLP التقليدي |
| Word2Vec | 100~300 | دلالة على مستوى الكلمة | تشابه الكلمات، الاستدلال التشبيهي |
| BERT Embedding | 768 | دلالة سياقية | فهم الجمل، الأسئلة والأجوبة |
| OpenAI text-embedding-3 | 1536~3072 | دلالة عميقة | RAG، البحث الدلالي |
2. حساب التشابه: كم هي "المسافة" بين المتجهات؟
بعد الحصول على التمثيل المتجهي، السؤال التالي طبيعي: كيف نقيس كم هما متشابهان؟ هذا مثل قياس كم مدينتان قريبتان على الخريطة - يمكنك قياس المسافة المستقيمة، أو النظر فيما إذا كان الاتجاه متطابقًا.
Vector Similarity Calculator
Drag vector endpoints to observe similarity metrics in real time
💡Cosine similarityfocuses only on direction and is useful for semantic text comparison; Euclidean distanceconsiders both direction and magnitude and fits absolute-distance scenarios.
طريقتا قياس أساسيتان
- تشابه جيب التمام (Cosine Similarity): يقيس ما إذا كان اتجاه المتجهين متطابقًا، المجال [-1, 1]. 1 يعني اتجاه متطابق تمامًا، 0 يعني متعامد (غير مرتبط)، -1 يعني متعاكس تمامًا. الخيار الأول لمقارنة الدلالة النصية، لأنه لا يتأثر بطول المتجه.
- المسافة الإقليدية (Euclidean Distance): تقيس المسافة المستقيمة بين طرفي المتجهين، المجال [0, ∞). 0 يعني تطابق تام، كلما زادت القيمة قل التشابه. مناسبة للسيناريوهات التي تحتاج النظر في "الحجم المطلق".
| طريقة القياس | حدس الصيغة | المجال | السيناريو المناسب |
|---|---|---|---|
| تشابه جيب التمام | النظر للاتجاه، تجاهل الطول | [-1, 1] | بحث دلالي نصي، أنظمة توصية |
| المسافة الإقليدية | النظر للمسافة المستقيمة بين الطرفين | [0, ∞) | ميزات الصور، تحليل التجميع |
| الجداء النقطي | اتجاه × طول | (-∞, +∞) | حساب سريع للمتجهات المعيرة |
| مسافة مانهاتن | المسافة على طول محاور الإحداثيات | [0, ∞) | متجهات متفرقة عالية الأبعاد |
3. فهرسة المتجهات: كيف نسترد بالميلي ثانية من بين ملايين المتجهات؟
افترض أن لديك مليون وثيقة، كل منها حولت إلى متجه 1536 بعدًا. مستخدم يطرح سؤالاً، تحتاج لإيجاد أكثر 10 متجهات تشابهًا. الطريقة المباشرة هي حساب التشابه واحدًا تلو الآخر - لكن هذا يعني القيام بمليون عملية حسابية لمتجهات 1536 بعدًا، بطيء جدًا.
هذا هو ما تهدف فهرسة المتجهات لحله: استبدال المساحة بالوقت، من خلال المعالجة المسبقة لبناء هيكل فهرسة، لتقليل سرعة الاسترجاع من O(n) إلى ما يقرب من O(log n).
Vector Index Strategy Comparison
Compare brute-force search with approximate nearest neighbor search
| Strategy | Time complexity | Accuracy | Use case |
|---|---|---|---|
| Brute force | O(n) | 100% | Small datasets (<10K) |
| ANN (IVF) | O(n/k) | ~95% | Large datasets (>100K) |
| HNSW | O(log n) | ~98% | High-performance retrieval |
البحث الشامل مقابل أقرب جار تقريبي (ANN)
- البحث الشامل (Flat): مقارنة واحدة تلو الأخرى، دقة 100% لكن بطيء. مناسب للسيناريوهات صغيرة البيانات (< 100 ألف).
- IVF (فهرس الملفات المقلوب): تقسيم فضاء المتجهات أولاً إلى عدة مناطق (تجميع)، وعند الاستعلام البحث فقط في أقرب المناطق. مثل تقسيم المكتبة حسب الموضوع، وعند البحث عن كتاب تذهب فقط للمنطقة ذات الصلة.
- HNSW (الرسم البياني صغير العالم القابل للملاحة الهرمي): بناء هيكل رسم بياني متعدد الطبقات، الملاحة من الخشن إلى الدقيق طبقة بطبقة. مثل النظر أولاً في خريطة العالم لتحديد الدولة، ثم خريطة المحافظة، وأخيرًا خريطة الشارع.
- PQ (التكميم الجدائي): ضغط المتجهات عالية الأبعاد إلى ترميز قصير، التضحية بدقة قليلة مقابل توفير كبير في الذاكرة. مناسب لمجموعات البيانات فائقة الحجم.
| نوع الفهرس | سرعة البناء | سرعة الاستعلام | معدل الاسترجاع | استهلاك الذاكرة | الحجم المناسب |
|---|---|---|---|---|---|
| Flat (شامل) | لا يحتاج بناء | بطيء | 100% | مرتفع | < 100 ألف |
| IVF | متوسط | سريع | 95%+ | متوسط | 100 ألف~10 مليون |
| HNSW | بطيء | سريع جدًا | 99%+ | مرتفع | 100 ألف~10 مليون |
| PQ | متوسط | سريع | 90%+ | منخفض جدًا | > 10 مليون |
| IVF-PQ | متوسط | سريع | 92%+ | منخفض | > 100 مليون |
4. قواعد بيانات المتجهات: محرك تخزين مصمم خصيصًا للمتجهات
بعد الحصول على المتجهات وخوارزميات الفهرس، تحتاج مكانًا لتخزينها وإدارتها. قواعد البيانات التقليدية (MySQL، PostgreSQL) تتقن معالجة البيانات المنظمة، لكنها تعجز عن البحث بالتشابه للمتجهات عالية الأبعاد. قواعد بيانات المتجهات مصممة خصيصًا لهذا السيناريو.
Mainstream Vector Database Comparison
Click a card to see details and compare use cases across vector databases
Scenario recommendations
القدرات الأساسية لقواعد بيانات المتجهات
- تخزين فعال: تنسيق تخزين محسن للمتجهات عالية الأبعاد ذات الفاصلة العائمة
- استرجاع ANN: مدمج مع خوارزميات متعددة للفهرسة التقريبية لأقرب جار (HNSW، IVF إلخ)
- تصفية البيانات الوصفية: دعم التصفية حسب الوسوم والوقت وغيرها من الشروط أثناء البحث المتجهي
- تحديث فوري: دعم الإضافة والحذف والتعديل الديناميكي للمتجهات، دون الحاجة لإعادة بناء الفهرس بالكامل
- التوسع الأفقي: بنية موزعة تدعم مليارات المتجهات
| قاعدة البيانات | النوع | الميزات | السيناريو المناسب |
|---|---|---|---|
| Pinecone | خدمة سحابية مدارة بالكامل | بدون تشغيل، جاهزة للاستخدام | نماذج أولية سريعة، إنتاج صغير ومتوسط |
| Milvus | مفتوحة المصدر موزعة | أداء عالٍ، قابلة للتوسع | بيئة إنتاج واسعة النطاق |
| Chroma | مفتوحة المصدر خفيفة | مضمنة، API بسيط | تطوير محلي، مشاريع صغيرة |
| Weaviate | مفتوحة المصدر سحابية أصلية | تحويل متجهي مدمج، GraphQL | سيناريوهات تحتاج تحويل متجهي تلقائي |
| Qdrant | مفتوحة المصدر عالية الأداء | تطبيق Rust، تصفية قوية | سيناريوهات تحتاج تصفية معقدة |
| pgvector | إضافة PG | إعادة استخدام بنية PG الحالية | فرق تستخدم PostgreSQL بالفعل |
5. خط الأنابيب الشامل: التدفق الكامل من النص إلى الاسترجاع
بعد فهم كل مكون، دعنا نربطها معًا، لنرى كيف يعمل نظام استرجاع متجهي كامل.
ينقسم التدفق بالكامل إلى خطين: الكتابة دون اتصال (تحويل الوثائق إلى متجهات وتخزينها) والاستعلام عبر الإنترنت (تحويل السؤال إلى متجه والبحث).
Embedding Generation Pipeline
Step through the full conversion from text to vector
تدفق الكتابة دون اتصال
- تحميل الوثائق: قراءة النص الأصلي من مصادر متنوعة (PDF، صفحات ويب، قواعد بيانات)
- المعالجة المسبقة للنص: تنظيف، إزالة الضوضاء، توحيد (إزالة وسوم HTML، الأحرف الخاصة إلخ)
- تقسيم النص: تقسيم النص الطويل حسب الاستراتيجية إلى أجزاء بحجم مناسب (200~500 tokens)
- التحويل إلى متجهات: استدعاء نموذج التضمين (مثل OpenAI text-embedding-3-small) لتحويل كل جزء إلى متجه
- التخزين في قاعدة بيانات المتجهات: كتابة المتجه مع النص الأصلي والبيانات الوصفية في قاعدة البيانات
تدفق الاستعلام عبر الإنترنت
- استقبال الاستعلام: إدخال المستخدم سؤالاً باللغة الطبيعية
- تحويل الاستعلام إلى متجه: استخدام نفس نموذج التضمين لتحويل السؤال إلى متجه
- استرجاع التشابه: البحث في قاعدة بيانات المتجهات عن Top-K أكثر أجزاء الوثائق تشابهًا
- المعالجة اللاحقة: إعادة الترتيب، إزالة التكرار، تصفية البيانات الوصفية
- إعادة النتائج: إعادة أجزاء الوثائق الأكثر صلة إلى المستدعي (أو تسليمها لـ LLM لتوليد الإجابة)
| الحلقة | الاختيار الرئيسي | الحل الموصى به |
|---|---|---|
| نموذج التضمين | الدقة مقابل التكلفة مقابل السرعة | OpenAI text-embedding-3-small (أفضل قيمة مقابل التكلفة) |
| استراتيجية التقسيم | الدقة مقابل سلامة الدلالة | تقسيم تكراري، 200~500 tokens |
| قاعدة بيانات المتجهات | الحجم مقابل تكلفة التشغيل | مشاريع صغيرة Chroma، إنتاج Pinecone/Milvus |
| قياس التشابه | دلالي مقابل دقيق | تشابه جيب التمام (الخيار الأول للنص) |
| قيمة Top-K | معدل الاسترجاع مقابل الضوضاء | استرجاع 20 أولاً، إعادة ترتيب ثم أخذ Top 5 |
الخلاصة
Embedding والاسترجاع المتجهي هو الجسر الذي يربط "اللغة البشرية" بـ"الفهم الآلي"، وهو أيضًا البنية التحتية لتطبيقات الذكاء الاصطناعي مثل RAG والبحث الدلالي وأنظمة التوصية.
مراجعة النقاط الرئيسية لهذا الفصل:
- جوهر Embedding: تعيين النص إلى فضاء متجهي عالي الأبعاد، لجعل التشابه الدلالي مسافة مكانية
- قياس التشابه: تشابه جيب التمام يركز على الاتجاه (مناسب للنص)، المسافة الإقليدية تركز على المسافة المطلقة
- الفهرسة هي مفتاح الأداء: HNSW و IVF تجعل استرجاع ملايين المتجهات في مستوى المللي ثانية
- اختيار قاعدة بيانات المتجهات: مشاريع صغيرة Chroma/pgvector، بيئة إنتاج Pinecone/Milvus
- تفكير شامل: من تحميل الوثائق إلى الاسترجاع النهائي، اختيار كل حلقة يؤثر على النتيجة النهائية
قراءة إضافية
- توثيق OpenAI Embeddings - دليل استخدام نماذج التضمين الرسمية
- Pinecone Learning Center - دروس منهجية في قواعد بيانات المتجهات والاسترجاع
- FAISS Wiki - توثيق مكتبة استرجاع المتجهات مفتوحة المصدر من Facebook
- ورقة Word2Vec الأصلية - العمل الرائد في عصر Embedding
- لوحة MTEB - لوحة مقارنة أداء نماذج التضمين