العلامة التقنية

موقع تقني عربي متخصص في أخبار التكنولوجيا والذكاء الاصطناعي

كيف يختلف BM25 و RAG في استرجاع المعلومات؟

بقلم: فريق تحرير العلامة التقنية التصنيف: الذكاء الاصطناعي
كيف يختلف BM25 و RAG في استرجاع المعلومات؟

تستكشف هذه المقالة كيفية اختلاف BM25 و RAG في استرجاع المعلومات وتقييم المستندات عبر استعلامات البحث.

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

الجزء الذكي هو أن BM25 لا يكافئ حشو الكلمات الرئيسية - فالكلمة التي تظهر 20 مرة لا تجعل المستند أكثر صلة 20 مرة، وذلك بفضل تشبع تردد المصطلح. ولكن BM25 لديه نقطة عمياء أساسية: إنه يتطابق فقط مع الكلمات التي كتبتها، وليس ما تعنيه. على سبيل المثال، إذا بحثت عن "البحث عن محتوى مشابه دون تداخل الكلمات الدقيقة"، فإن BM25 لن يعود بأية نتائج. هذه هي الفجوة التي تم بناؤها لتغطيتها RAG (استرجاع المعلومات المعزز بالتوليد) باستخدام تمثيلات المتجهات - من خلال مطابقة المعنى، وليس فقط الكلمات الرئيسية.

كيف يعمل BM25

في جوهره، يقوم BM25 بتعيين درجة الصلة لكل مستند في المجموعة للاستعلام المعطى، ثم يقوم بترتيب المستندات حسب تلك الدرجة. لكل مصطلح في استعلامك، يسأل BM25 ثلاثة أسئلة: كم مرة يظهر هذا المصطلح في المستند؟ ما مدى ندرة هذا المصطلح عبر جميع المستندات؟ وهل المستند طويل بشكل غير عادي؟

الدرجة النهائية هي مجموع الأجوبة الموزونة لهذه الأسئلة عبر جميع مصطلحات الاستعلام. الجزء الخاص بتردد المصطلح هو ما يجعل BM25 ذكيًا. بدلاً من حساب التكرارات الخام، فإنه يقوم بتطبيق التشبع - تنمو الدرجة بسرعة في البداية ولكنها تتسطح مع زيادة التردد. مثلاً، كلمتان تظهران 5 مرات تساهمان بشكل أكبر بكثير من كلمة تظهر مرة واحدة، لكن كلمة تظهر 50 مرة تساهم بالكثير فقط في نفس مستوى الكلمة التي تظهر 20 مرة. يتحكم في ذلك المعامل k₁ (عادة ما يتم ضبطه بين 1.2 و2.0).

التطبيع الطولي وIDF

المعامل الثاني b (عادة 0.75) يتحكم في مقدار العقوبة التي يتم فرضها على طول المستند. يحتوي المستند الطويل بشكل طبيعي على المزيد من الكلمات، لذا لديه المزيد من الفرص لتضمين مصطلح الاستعلام الخاص بك - ليس لأنه أكثر صلة، بل ببساطة لأنه أطول. يقوم BM25 بمقارنة طول كل مستند بطول متوسط المستندات في المجموعة ويخفض درجة تردد المصطلح وفقًا لذلك. ضبط b = 0 يلغي هذه العقوبة تمامًا؛ بينما b = 1 يطبق التطبيع بالكامل.

أخيرًا، تضمن IDF (تكرار الوثيقة العكسي) أن تحمل المصطلحات النادرة وزناً أكبر من الشائعة. إذا كانت الكلمة "استرجاع" تظهر في 3 فقط من 10,000 مستند، فهي إشارة قوية للصلة عند المطابقة. ولكن إذا كانت الكلمة "الـ" تظهر في جميع المستندات الـ10,000، فإن مطابقتها لا تعني شيئاً تقريباً. IDF هو ما يجعل BM25 ينتبه للكلمات التي تميز بالفعل بين المستندات.

كيف يختلف BM25 عن البحث باستخدام المتجهات

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

من ناحية أخرى، يقوم البحث باستخدام المتجهات بتحويل كل من الاستعلام وكل مستند إلى متجهات عددية كثيفة باستخدام نموذج تمثيل، ثم يجد المستندات التي تشير متجهاتها في نفس الاتجاه مثل متجه الاستعلام - تقاس من خلال تشابه الكوساين. هذا يعني أن البحث باستخدام المتجهات يمكنه مطابقة "توقف القلب" بمستند حول "فشل القلب" حتى لو لم تتداخل أي من الكلمات، لأن نموذج التمثيل تعلم أن هذه المفاهيم قريبة في الفضاء الدلالي.

الفرق العملي هو: لا يتطلب BM25 أي نموذج، ولا GPU، ولا مكالمة API - إنه سريع وخفيف الوزن وقابل للتفسير بالكامل. بينما يتطلب البحث باستخدام المتجهات نموذج تمثيل في وقت الفهرسة ووقت الاستعلام، مما يضيف تأخيراً وتكلفة، وينتج درجات يصعب تفسيرها.

لا يوجد أي منهما "أفضل" بشكل صارم؛ فكل منهما يفشل في اتجاهات معاكسة، وهو السبب في أن البحث الهجين - الجمع بين كلاهما - أصبح معيار الإنتاج.

المصدر: MarkTechPost

أحدث في الذكاء الاصطناعي

مقالات سابقة في الذكاء الاصطناعي