نماذج التضمين (Embeddings) للغة العربية: دليل اختيار وتقييم
ما هي Embeddings؟
Text embedding = mapping جملة/فقرة إلى vector في فضاء high-dimensional حيث المعنى المتقارب = مسافة قصيرة (cosine similarity).
في RAG:
Query (عربي) → embed → search nearest chunks → LLM answer
Paper أصلي: Mikolov word2vec (2013) → sentence-BERT (2019) → modern E5/BGE.
عائلات نماذج للعربية (2025–2026)
| Model family | Strengths | Notes |
|---|---|---|
| multilingual-e5 (Microsoft) | MSA, strong MTEB | open |
| bge-m3 (BAAI) | 100+ langs, dense+sparse | popular |
| OpenAI text-embedding-3 | quality, API | data egress |
| AraBERT / CAMeLBERT | Arabic pretrain | may need sentence wrapper |
| Cohere embed multilingual | API, good AR | vendor lock |
MTEB (Massive Text Embedding Benchmark) — leaderboard on Hugging Face — includes Arabic tasks but not your domain.
كيف تُقيّمون؟
Golden set methodology
- 50–100 (question, relevant_doc_id) pairs من HR/legal/…
- Metrics:
- Recall@5: هل doc الصحيح في top 5?
- MRR: mean reciprocal rank
- Latency: ms per query
Example results pattern (illustrative)
| Model | Recall@5 (MSA FAQ) | Recall@5 (dialect) |
|---|---|---|
| e5-large | 0.88 | 0.72 |
| bge-m3 | 0.86 | 0.75 |
| baseline BM25 | 0.65 | 0.60 |
Hybrid (BM25 + dense) often wins for Arabic — morphology + semantics.
Arabic-specific challenges
- Diacritics: normalize (strip tashkeel) before embed — consistent pipeline
- RTL: most models handle UTF-8; test mixed AR/EN docs
- Morphology: same root, many forms — dense embeddings help vs keyword alone
- Dialect: Gulf/Egyptian queries vs MSA docs → gap; consider query expansion
Production checklist
- Normalization pipeline documented
- Same model for index + query
- Vector DB: HNSW params tuned
- Batch embed for index; cache query embeds
- Monitor drift when content grows 10x
Migration بين models
1. Embed new corpus v2 parallel
2. A/B traffic 10%
3. Compare recall + user thumbs
4. Cutover + delete v1 index
Never mix v1 and v2 vectors in same index.
المصادر
- Hugging Face MTEB leaderboard
- Wang et al., «Text Embeddings by Weakly-Supervised Contrastive Learning» (E5)
- CAMeLBERT / AraBERT papers (ACL)
- Microsoft Azure — embedding model selection guide
FAQ
ما الفرق بين embedding و LLM؟
Embedding model صغير يُنتج vector للبحث. LLM يولّد نص. RAG يستخدم embedding للاسترجاع ثم LLM للصياغة.
كم dimension نحتاج؟
768–1024 شائع. أ higher ≠ always better — latency وmemory matter.
هل OpenAI embeddings جيدة للعربية؟
text-embedding-3-large competitive — لكن sending data خارجياً قد يمنعها. local alternatives: e5, bge-m3.