Skip to content

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

Dimension 1Dimension 2CatDogTigerRabbitKingQueenPrincePrincessAnimalsRoyalty

💡 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

  1. التجمع الدلالي: الكلمات ذات المعاني المتشابهة تتجمع تلقائيًا معًا (مجموعة الحيوانات، مجموعة الطعام، مجموعة التكنولوجيا)
  2. علاقات التشبيه: عمليات المتجهات يمكنها التعبير عن العلاقات الدلالية، مثال كلاسيكي: king - man + woman ≈ queen
  3. معنى الأبعاد: كل بعد يشفر ضمنيًا ميزة دلالية معينة (مثل "هل هو حيوان"، "الحجم"، "الاتجاه العاطفي" إلخ)
طريقة الترميزالبعدالمعلومات الدلاليةالتطبيق النموذجي
One-Hotحجم القاموس (~50000)لا شيءNLP التقليدي
Word2Vec100~300دلالة على مستوى الكلمةتشابه الكلمات، الاستدلال التشبيهي
BERT Embedding768دلالة سياقيةفهم الجمل، الأسئلة والأجوبة
OpenAI text-embedding-31536~3072دلالة عميقةRAG، البحث الدلالي

2. حساب التشابه: كم هي "المسافة" بين المتجهات؟

بعد الحصول على التمثيل المتجهي، السؤال التالي طبيعي: كيف نقيس كم هما متشابهان؟ هذا مثل قياس كم مدينتان قريبتان على الخريطة - يمكنك قياس المسافة المستقيمة، أو النظر فيما إذا كان الاتجاه متطابقًا.

Vector Similarity Calculator

Drag vector endpoints to observe similarity metrics in real time

AB
Cosine similarity
0.3969
-1 (opposite) ~ 1 (same)
Euclidean distance
1.71
0 (identical) ~ ∞ (far away)
Dot product
0.96
dot(A, B) = |A||B|cosθ

💡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

Query point
Total points
60
Visited nodes
0
Search effort
0%
Nearest K found
0
StrategyTime complexityAccuracyUse case
Brute forceO(n)100%Small datasets (<10K)
ANN (IVF)O(n/k)~95%Large datasets (>100K)
HNSWO(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

P
Pinecone
Managed cloud service
Cloud nativeServerless
Performance
Ease of use
Scalability
M
Milvus
Open-source distributed
Open sourceDistributedHigh performance
Performance
Ease of use
Scalability
W
Weaviate
Open-source AI native
Open sourceGraphQLModular
Performance
Ease of use
Scalability
C
Chroma
Lightweight embedded
Open sourceLightweightPython
Performance
Ease of use
Scalability
pg
pgvector
PostgreSQL extension
SQLPostgreSQLExtension
Performance
Ease of use
Scalability
Scenario recommendations
&#x1F680;
Fast prototype
Chroma / Pinecone
&#x1F3E2;
Enterprise deployment
Milvus / Weaviate
&#x1F4BE;
Existing PG database
pgvector
&#x1F916;
RAG app
Chroma / Weaviate

القدرات الأساسية لقواعد بيانات المتجهات

  1. تخزين فعال: تنسيق تخزين محسن للمتجهات عالية الأبعاد ذات الفاصلة العائمة
  2. استرجاع ANN: مدمج مع خوارزميات متعددة للفهرسة التقريبية لأقرب جار (HNSW، IVF إلخ)
  3. تصفية البيانات الوصفية: دعم التصفية حسب الوسوم والوقت وغيرها من الشروط أثناء البحث المتجهي
  4. تحديث فوري: دعم الإضافة والحذف والتعديل الديناميكي للمتجهات، دون الحاجة لإعادة بناء الفهرس بالكامل
  5. التوسع الأفقي: بنية موزعة تدعم مليارات المتجهات
قاعدة البياناتالنوعالميزاتالسيناريو المناسب
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

1
Tokenize
2
Encode
3
Model inference
4
Pooling
5
Normalize

تدفق الكتابة دون اتصال

  1. تحميل الوثائق: قراءة النص الأصلي من مصادر متنوعة (PDF، صفحات ويب، قواعد بيانات)
  2. المعالجة المسبقة للنص: تنظيف، إزالة الضوضاء، توحيد (إزالة وسوم HTML، الأحرف الخاصة إلخ)
  3. تقسيم النص: تقسيم النص الطويل حسب الاستراتيجية إلى أجزاء بحجم مناسب (200~500 tokens)
  4. التحويل إلى متجهات: استدعاء نموذج التضمين (مثل OpenAI text-embedding-3-small) لتحويل كل جزء إلى متجه
  5. التخزين في قاعدة بيانات المتجهات: كتابة المتجه مع النص الأصلي والبيانات الوصفية في قاعدة البيانات

تدفق الاستعلام عبر الإنترنت

  1. استقبال الاستعلام: إدخال المستخدم سؤالاً باللغة الطبيعية
  2. تحويل الاستعلام إلى متجه: استخدام نفس نموذج التضمين لتحويل السؤال إلى متجه
  3. استرجاع التشابه: البحث في قاعدة بيانات المتجهات عن Top-K أكثر أجزاء الوثائق تشابهًا
  4. المعالجة اللاحقة: إعادة الترتيب، إزالة التكرار، تصفية البيانات الوصفية
  5. إعادة النتائج: إعادة أجزاء الوثائق الأكثر صلة إلى المستدعي (أو تسليمها لـ LLM لتوليد الإجابة)
الحلقةالاختيار الرئيسيالحل الموصى به
نموذج التضمينالدقة مقابل التكلفة مقابل السرعةOpenAI text-embedding-3-small (أفضل قيمة مقابل التكلفة)
استراتيجية التقسيمالدقة مقابل سلامة الدلالةتقسيم تكراري، 200~500 tokens
قاعدة بيانات المتجهاتالحجم مقابل تكلفة التشغيلمشاريع صغيرة Chroma، إنتاج Pinecone/Milvus
قياس التشابهدلالي مقابل دقيقتشابه جيب التمام (الخيار الأول للنص)
قيمة Top-Kمعدل الاسترجاع مقابل الضوضاءاسترجاع 20 أولاً، إعادة ترتيب ثم أخذ Top 5

الخلاصة

Embedding والاسترجاع المتجهي هو الجسر الذي يربط "اللغة البشرية" بـ"الفهم الآلي"، وهو أيضًا البنية التحتية لتطبيقات الذكاء الاصطناعي مثل RAG والبحث الدلالي وأنظمة التوصية.

مراجعة النقاط الرئيسية لهذا الفصل:

  1. جوهر Embedding: تعيين النص إلى فضاء متجهي عالي الأبعاد، لجعل التشابه الدلالي مسافة مكانية
  2. قياس التشابه: تشابه جيب التمام يركز على الاتجاه (مناسب للنص)، المسافة الإقليدية تركز على المسافة المطلقة
  3. الفهرسة هي مفتاح الأداء: HNSW و IVF تجعل استرجاع ملايين المتجهات في مستوى المللي ثانية
  4. اختيار قاعدة بيانات المتجهات: مشاريع صغيرة Chroma/pgvector، بيئة إنتاج Pinecone/Milvus
  5. تفكير شامل: من تحميل الوثائق إلى الاسترجاع النهائي، اختيار كل حلقة يؤثر على النتيجة النهائية

قراءة إضافية