استخدام Embeddings عربية (Swan، ArabicMTEB) لبناء توصيات ومطابقة نصوص دقيقة
٢٤ نوفمبر ٢٠٢٥
مقدمة سريعة: لماذا تهم Embeddings مخصصة للعربية؟
تزايدت الحاجة إلى تمثيلات نصية (embeddings) مُصمّمة للغة العربية بسبب خصوصياتها: اللهجات المتعددة، أشكال الحروف المتبادلة، وجود والحذف المتكرر للتشكيل، وتنوّع المجالات (قانوني، طبي، إعلامي...). نماذج مثل Swan ومرجع التقييم ArabicMTEB صُمّما للتعامل مع هذه التعقيدات وتقديم تمثيلات أكثر دقّة ودلالية للغة العربية.
ورقة Swan تقدّم عائلة نماذج تضم Swan‑Small (مبني على ARBERTv2) وSwan‑Large (مبني على ArMistral) وتعرّف أيضاً ArabicMTEB - مجموعة تقييم شاملة تتضمن 8 مهام و94 مجموعة بيانات لاختبار جودة الـembeddings العربية.
ما الذي يميز Swan وArabicMTEB عملياً؟
نقاط رئيسية يجب معرفتها قبل التطبيق:
- نسخ Swan: عائلة نماذج مُحسّنة لغوياً ومجالياً للعربية — Swan‑Small مهيأ للأنظمة خفيفة الموارد بينما Swan‑Large يقدّم أعلى دقة في المهام المعيارية.
- ArabicMTEB: معيار تقييم يغطي مهام متعددة (المطابقة الدلالية، التصنيف، البحث، التصنيف متعدد الوسوم، الترجمة/التقاطع اللغوي وغيرها) عبر 94 مجموعة بيانات، ما يجعله مرجعاً جيداً لمقارنة النماذج والاختيارات الهندسية.
- أداء: في النتائج المنشورة Swan‑Large أظهر أداء متقدماً على نماذج متعددة اللغات مثل Multilingual‑E5‑large في مهام عربية عديدة، بينما Swan‑Small تجاوز أداء Multilingual‑E5‑base في اختباراتٍ محددة.
تتوفر الورقة والموارد المصاحبة (رمز وتقييمات) من الجهات البحثية ذات الصلة للرجوع والتطبيق العملي.
خطوات عملية لبناء نظام توصية ومطابقة نصية بالعربية
فيما يلي منهجية عملية قابلة للتطبيق خطوة بخطوة مع ملاحظات فنية:
1. تنظيف وتوحيد النص (Preprocessing)
- إزالة التشكيل (الحركات) عادة مفيدة لأن النصوص المكتوبة معظمها بدون تشكيل؛ يمكن الاحتفاظ بالتشكيل في تطبيقات خاصة (مثل تعليم النطق).
- تطبيع أشكال الألف والهمزة (أ، إ، آ → ا)، تحويل التاء المربوطة (ة ↔ ه) وتوحيد الياء/الألف المقصورة؛ حلول معروفة ومطبقة في مكتبات مثل Lucene's ArabicNormalizer.
- حذف tatweel (ـ) وإزالة الأحرف غير المرئية والرموز الخاصة.
2. استخراج الـEmbeddings
- اختر نسخة Swan مناسبة: Swan‑Small للنشر المحلي أو حالات التكلفة الحساسة، Swan‑Large عندما تكون الدقة أولوية وتتوفر موارد أكبر.
- استخدم pooling مناسباً (CLS pooling أو mean pooling على مستوى الـtokens) بحسب التدريب الأصلي للنموذج؛ قارن بينهما على مجموعة تطبيقيّة صغيرة.
3. تخزين المتجهات والبحث
- للبدء: FAISS خيار شائع ومرن لبناء فهارس البحث المتقارب (ANN) والاستعلام عن أقرب الجيران؛ يدعم أنواع فهارس متعددة (Flat, IVF, HNSW, IVFPQ) ومقاييس مثل Cosine عبر تطبيع المتجهات.
- للنشر المُوزّع أو متطلبات الإنتاج: Milvus وWeaviate كلاهما منصّات جاهزة للتخزين المتجه والمزايا الإضافية (فلترة ميتاداتا، بحث هجيني hybrid). استخدم Milvus للمقاييس الكبيرة وWeaviate إذا رغبت في تكامل مباشر مع مزوّدات نموذج vectorizer أو بنية كائنات مهيكلة.
- قرارات مهمة: اختر مسافة (Cosine شائعة للـembeddings)، قرار الـindex (HNSW جيد للزمن/دقة متوازنة)، وعدد النتائج/threshold للتصفية.
4. بناء توصيات ومطابقة نصية
- مقاربة بسيطة: تحويل الوثائق/المنتجات/الأسئلة إلى متجهات وتخزينها، ثم البحث بأقرب المتجهات (nearest neighbors) لاقتراح عناصر مشابهة.
- توصية هجينة: دمج نتائج المتجهات مع عوامل أخرى (سلوك مستخدم، تصنيفات، قواعد تجارية) لإعطاء وزن مناسب للنتيجة النهائية.
- تحسينات: استخدام reranking بواسطة نموذج مُصغّر (cross-encoder) لزيادة الدقة على أعلى N نتائج من الـANN.