انتقل إلى المحتوى

الاسترجاع الهجين: المتجهات + الكلمات المفتاحية + البيانات الوصفية

هندسة استرجاع هجين مرن: مزج إشارات المتجهات والمعجمية والبيانات الوصفية والزمنية لـ RAG مواقع الويب.

retrieval • hybrid • search • rag

يفشل الاسترجاع أحادي النمط في الحالات الحدية: المتجهات الكثيفة تُغفل الرموز النادرة والمعرفات؛ والاسترجاع المعجمي البحت يُغفل إعادة الصياغة والتشابه الدلالي. يدمج الاسترجاع الهجين إشارات متكاملة — دلالية كثيفة، معجمية متفرقة، بيانات وصفية مهيكلة، حداثة زمنية — لإنتاج مجموعات مرشحة مستقرة وعالية الدقة. تتناول هذه المقالة بالتفصيل البنية والتطبيع ودمج التسجيل ومعالجة الإخفاقات والتقييم.

الدافع

سيناريوهات الإخفاق:

  • أسماء العلم / رموز SKU التي يُغفلها النموذج الكثيف.
  • استعلامات تغيّر الأسعار التي تسحب لقطة قديمة لافتقارها إلى التعزيز الزمني.
  • الأسئلة الطويلة باللغة الطبيعية المُفرَط في ترجيحها على كلمات التوقف في نظام متفرق فقط.
  • الإيجابيات الكاذبة للمتجهات على الصفحات الواسعة دلاليًا (الحشو التسويقي) لافتقارها إلى الترسيخ المعجمي.

يخفف النهج الهجين ذلك عبر التقاط أبعاد أدلة متعامدة.

طبقات المكونات

التدفق الموصى به:

  1. تضمين الاستعلام → بحث ANN (k_vec)
  2. البحث المعجمي (BM25 / SPLADE / Elasticsearch) (k_lex)
  3. الاتحاد → تطبيع التسجيل (تحجيم لكل مصدر)
  4. مرور تصفية البيانات الوصفية (locale، access_tier، page_type)
  5. تعديلات التنوع والحداثة
  6. مُعيد ترتيب متقاطع/أحادي اختياري
  7. الاقتطاع النهائي (أعلى K)

احتفظ بدرجات ما قبل الدمج الخام للتدقيق.

تطبيع الاستعلام

الخطوات:

  • تطبيع Unicode بصيغة NFKC
  • التحويل إلى أحرف صغيرة (احتفظ بلقطة من حالة الأحرف لتنسيق الإجابة عند الحاجة)
  • التقسيم إلى رموز مع الاحتفاظ بكلمات التوقف (يمكن للتضمينات الدلالية الاستفادة من السياق)
  • توسيع المرادفات / الأسماء البديلة: أضف رموزًا بديلة لتعيين الأسماء الرمزية الداخلية للمنتج (لا تُدرَج في موجّه النموذج؛ تُستخدم فقط للاسترجاع المتفرق).
  • استخراج الأرقام والإصدارات: التقط أنماط X.Y.Z لتسجيل معجمي موجّه.

مرشحات البيانات الوصفية والسمات

تقلل المرشحات المطبقة بعد الاتحاد الأولي للمرشحين من خسارة الاستدعاء. الحقول الشائعة: locale، access_tier، page_type، product_area، updated_bucket. طبّق مرشحات الأمان (tenant / tier) قبل دمج التسجيل لمنع التسريبات من التأثير على إعادة الترتيب. وفّر وضع تصحيح يُعيد مجموعة filtered_out للفحص.

استراتيجية إعادة الترتيب

استخدم مشفّرًا متقاطعًا خفيف الوزن (نموذج مُقطّر) على أعلى N (10–20). إذا كان زمن الاستجابة > الميزانية، فقم بالتخفيض: تخطّ إعادة الترتيب أو قلّل عدد المرشحين مع زيادة الوزن المعجمي. تتبّع re_rank_delta = MRR_post - MRR_pre لتبرير التكلفة. خزّن نتائج إعادة الترتيب مؤقتًا لمجموعات الاتحاد المتطابقة ضمن TTL قصير.

الحداثة والإشارات الزمنية

احسب freshness_weight = exp(-lambda * age_days) حيث يُضبط lambda لكل نوع محتوى (أعلى للأسعار، وأدنى لواجهة API مستقرة). ادمج: final_score = w_sem * sem_score + w_lex * lex_score + w_fresh * freshness_weight + w_meta * meta_priors. طبّع كل مكوّن أولًا (z-score أو min-max) لتجنّب الهيمنة.

أنماط الإخفاق

الإخفاقالسببالتخفيف
تحيّز الشهرةالإفراط في ترجيح tf-idf المعجميتحديد سقف مساهمة تكرار المصطلح
نتائج قديمةضبط وزن الحداثة بشكل خاطئإعادة معايرة lambda باستخدام مجموعة تقييم
تسرّب Localeتطبيق المرشح متأخرًانقل مرشحات الأمان إلى وقت أبكر
الانحراف الدلاليترقية نموذج التضمينالفهرسة المزدوجة ومقارنة A/B قبل الطرح
ضوضاء الدمج المفرطحجم اتحاد غير محدودتحديد الاتحاد، والتقليم حسب التنوع

إطار التقييم

التجارب:

  • الإزالة: (المتجهات فقط، المعجمية فقط، الهجين بدون إعادة ترتيب، الكامل) يقيس Recall@k وMRR.
  • ضبط أوزان الدمج: بحث شبكي عن الأوزان باستخدام مجموعة ذهبية للتحقق.
  • ميزانية زمن الاستجابة: تتبّع متوسط زمن استجابة الاسترجاع + P95 لكل تكوين.
  • الانحراف: راقب التغيّر النسبي الأسبوعي في الاستدعاء للاستعلامات الرئيسية مقابل استعلامات الذيل الطويل.

احتفظ بقائمة بيان تقييم تتضمن تجزئات التكوين.

حلقة التحسين

الدورة:

  1. سجّل آثار الاسترجاع (query، candidates، scores، source_tag).
  2. حدّد الإصابات الخاطئة (انخفاض الأمانة في المراحل اللاحقة أو انخفاض عدد الاستشهادات) → صنّف السبب الجذري (مرشح معجمي مفقود، إيجابي كاذب دلالي، محتوى قديم).
  3. اضبط الأوزان / العتبات؛ شغّل المجموعة دون اتصال.
  4. اطرح أوزان دمج جديدة بشكل تجريبي خلف feature flag.
  5. رقِّ عند تحقّق تحسّن ذي دلالة إحصائية.

أبرز النقاط

  • الاسترجاع الهجين نظام من المفاتيح القابلة للضبط — قِسه بلا هوادة.
  • طبّق مرشحات الأمان والوصول مبكرًا؛ تجنّب التسرّب إلى التسجيل.
  • يجب أن تبرّر إعادة الترتيب زمن الاستجابة عبر زيادة قابلة للقياس في MRR / Recall.
  • يمنع الاضمحلال الزمني الصفحات القديمة ذات السلطة العالية من الهيمنة.
  • تعامل مع تغييرات الدمج كالشِّفرة: أصدِر إصدارًا، وقيّم، وتقدّم أو تراجع.