Knowledge Bases

هندسات البحث الهجين: دمج البحث بالكلمات المفتاحية والبحث المتجه لقواعد المعرفة المؤسسية

في المشهد المؤسسي الحديث، المعرفة قوة، ولكن فقط إذا كانت قابلة للاكتشاف. لعقود من الزمان، اعتمد المطورون بشكل كبير على أنظمة الفهرس العكسي التقليدية مثل Elasticsearch للبحث في النصوص الكاملة. وعلى الرغم من ممتازتها في المطابقات الدقيقة والتصفية الهيكلية، فإن هذه الأنظمة غالباً ما تواجه صعوبات في التعامل مع الفروق الدقيقة، والتشابه اللفظي، والنوايا. في المقابل، برز البحث المتجه (البحث الدلالي) كأداة قوية لفهم المعنى الكامن وراء الاستعلامات، إلا أنه يفتقر إلى الدقة المطلوبة للمعرفات المحددة أو متطلبات التصفية الصارمة.

لا تكمن الحل في اختيار أحدهما على الآخر، بل في دمجهما. تستفيد هندسات البحث الهجين من دقة مطابقة الكلمات المفتاحية واسترجاع الفهم الدلالي لتقديم نتائج متفوقة في قواعد المعرفة المؤسسية.

لماذا البحث الهجين؟

لفهم قيمة البحث الهجين، يجب أن ننظر إلى قيود مكوناته. البحث بالكلمات المفتاحية حتمي (Deterministic). إذا بحث المستخدم عن "مفتاح API"، فسيتم إرجاع المستندات التي تحتوي على هذه العبارة بالضبط. ومع ذلك، يفشل إذا كانت المستند تستخدم مصطلح "رمز المصادقة" دون ذكر "مفتاح API" أبداً.

يكتشف البحث المتجه، المدعوم بالتضمينات (Embeddings) المولدة بواسطة نماذج اللغات الكبيرة (LLMs)، العلاقات الدلالية. من المرجح أن يطابق استعلام مثل "كيف يمكنني المصادقة؟" المستندات المتعلقة بـ "مفاتيح API"، حتى لو لم تتطابق الكلمات. ومع ذلك، قد يكون البحث المتجه غير دقيق للكائنات المحددة. قد يؤدي البحث عن معرف مستند محدد أو رمز خطأ فريد إلى نتائج غير ذات صلة لأن التضمين الدلالي لرقم عشوائي يكون تعسفياً.

من خلال دمج هذين النهجين، نحصل على أفضل ما في العالمين: القدرة على العثور على المفاهيم ذات الصلة والقدرة على مطابقة المصطلحات بدقة.

تطبيق الهندسة المعمارية

يتضمن تنفيذ نظام بحث هجين عادةً ثلاث خطوات: الفهرسة، ومعالجة الاستعلام، وإعادة ترتيب النتائج. تدعم قواعد البيانات المتجه ومحركات البحث الحديثة مثل Elasticsearch وPinecone وWeaviate الآن قدرات البحث الهجين الأصلية.

لنلقِ نظرة على مثال عملي باستخدام Elasticsearch، وهو منتشر على نطاق واسع في البيئات المؤسسية. في Elasticsearch، يمكنك استخدام استعلام function_score أو الميزة الأحدث weighted_score لدمج درجات BM25 (الكلمات المفتاحية) مع درجات تشابه المتجهات.

// مثال على البحث الهجين في Elasticsearch
{
  "query": {
    "hybrid": {
      "queries": [
        {
          "match": {
            "content": {
              "query": "authentication error",
              "boost": 1.5
            }
          }
        },
        {
          "knn": {
            "field": "content_vector",
            "query_vector": [0.12, 0.45, ...], // تضمين مولد
            "k": 10,
            "boost": 0.5
          }
        }
      ]
    }
  }
}

في هذا التكوين، يتعامل استعلام match مع أهمية الكلمات المفتاحية باستخدام BM25، بينما يتعامل استعلام knn مع التشابه الدلالي. تسمح معاملات boost للمطورين بضبط أهمية كل إشارة. بالنسبة لقاعدة بيانات تتعامل مع التوثيق التقني، قد تقوم بزيادة وزن مطابقة الكلمات المفتاحية لضمان إعطاء الأولوية لرموز الأخطاء المحددة.

إعادة الترتيب والدمج

بينما تقوم العديد من المحركات بإجراء البحث الهجين بشكل أصلي، غالباً ما تستخدم الهندسات المعمارية المتقدمة عملية استرجاع من مرحلتين. في المرحلة الأولى، يتم إجراء كل من البحث بالكلمات المفتاحية والبحث المتجه بشكل مستقل لاسترداد مجموعة مرشحين أكبر (على سبيل المثال، أفضل 100 نتيجة من كل منهما). في المرحلة الثانية، تقوم أداة إعادة الترتيب (Re-ranker)—وهي نموذج أكثر قوة، albeit أبطأ—بتقييم مجموعة المرشحين المدمجة لإنتاج القائمة النهائية المرتبة.

هذا النهج حاسم للتطبيقات المؤسسية حيث تكون تكلفة التوصية السيئة عالية. من خلال فصل الاسترجاع عن الترتيب، يمكنك تطبيق نماذج Cross-encoder المتطورة التي تحلل سياق زوج الاستعلام-المستند، مما يضمن أن النتائج النهائية ليست متشابهة دلاليًا فحسب، بل دقيقة سياقيًا أيضًا.

الخاتمة

البحث الهجين ليس مجرد اتجاه؛ بل أصبح المعيار للاسترجاع القوي للمعلومات المؤسسية. مع اعتماد المنظمات بشكل متزايد على البيانات غير المهيكلة، تصبح القدرة على سد الفجوة بين المطابقة الحرفية للكلمات المفتاحية والفهم الدلالي أمرًا ضروريًا. من خلال تنفيذ الهياكل المعمارية الهجينة، يمكن للمطورين بناء قواعد معرفة دقيقة وذكية، مما يمكّن المستخدمين في النهاية من العثور على الإجابات التي يحتاجونها، بغض النظر عن كيفية صياغتهم لأسئلتهم.

Share: