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

يحقق البحث المختلط نتائج بحث أكثر دقة من خلال عمليات بحث متعددة ومتزامنة في آن واحد. تُرجع عمليات البحث المتعددة عدة مجموعات من النتائج، والتي تتطلب استراتيجية إعادة ترتيب للمساعدة في دمج النتائج وإعادة ترتيبها وإرجاع مجموعة واحدة من النتائج. سيعرض هذا الدليل استراتيجيات إعادة الترتيب التي يدعمها ميلفوس ويقدم نصائح لاختيار استراتيجية إعادة الترتيب المناسبة.

نظرة عامة

يوضح الرسم البياني التالي سير العمل الرئيسي لإجراء بحث هجين في تطبيق بحث متعدد الوسائط . في الرسم البياني، أحد المسارين هو البحث الأساسي للشبكة العصبية الاصطناعية على النصوص والمسار الآخر هو البحث الأساسي للشبكة العصبية الاصطناعية على الصور. يُنشئ كل مسار مجموعة من النتائج بناءً على درجة تشابه النص والصورة على التوالي(الحد 1 والحد 2). ثم يتم تطبيق إستراتيجية إعادة الترتيب لإعادة ترتيب مجموعتين من النتائج بناءً على معيار موحد، وفي النهاية دمج مجموعتي النتائج في مجموعة نهائية من نتائج البحث، الحد (النهائي).

Multi Vector Rerank إعادة تصنيف متعدد المتجهات

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

  • إعادة الترتيب المرجحة: تدمج هذه الاستراتيجية النتائج عن طريق حساب درجة مرجحة للنتائج (أو المسافات) من عمليات بحث متجهات مختلفة. يتم تعيين الأوزان بناءً على أهمية كل حقل متجه، مما يسمح بالتخصيص وفقًا لأولويات حالة استخدام محددة.

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

المُصنِّف الموزون

تقوم استراتيجية WeightedRanker المرجحة بتخصيص أوزان مختلفة لنتائج كل مسار من مسارات البحث المتجه بناءً على أهميتها.

آلية عمل المُصنِّف الموزون الموزون

سير العمل الرئيسي لاستراتيجية WeightedRanker الموزونة هو كما يلي:

  1. جمع نتائج البحث: جمع النتائج والنتائج من كل مسار من مسارات البحث المتجه (النتيجة_1، النتيجة_2).

  2. تطبيع الدرجات: قد يستخدم كل بحث مقاييس تشابه مختلفة، مما ينتج عنه توزيعات درجات متنوعة. على سبيل المثال، يمكن أن يؤدي استخدام الضرب الداخلي (IP) كنوع تشابه إلى درجات تتراوح بين [- ∞، + ∞]، بينما يؤدي استخدام المسافة الإقليدية (L2) إلى درجات تتراوح بين [0، + ∞]. نظرًا لأن نطاقات الدرجات من عمليات البحث المختلفة تختلف ولا يمكن مقارنتها مباشرة، فمن الضروري تطبيع الدرجات من كل مسار بحث. عادة، يتم تطبيق دالة arctan لتحويل الدرجات إلى نطاق بين [0، 1] (الدرجة_1_مطبعة، الدرجة_2_مطبع). تشير الدرجات الأقرب إلى 1 إلى تشابه أعلى.

  3. تعيين الأوزان: استنادًا إلى الأهمية المعينة لحقول المتجهات المختلفة، يتم تخصيص أوزان(wi) للدرجات المعيارية (الدرجة_1_المعيارية، الدرجة_2_المعيارية). يجب أن تتراوح أوزان كل مسار بين [0،1]. الدرجات المرجحة الناتجة هي الدرجة_1_ المرجحة والدرجة_2_ المرجحة.

  4. دمج الدرجات: يتم ترتيب الدرجات الموزونة (الدرجة_1_ المرجحة والدرجة_2_ المرجحة) من الأعلى إلى الأقل لإنتاج مجموعة نهائية من الدرجات (الدرجة_النهائية).

Weighted Reranker أداة إعادة التصنيف المرجحة

مثال على أداة إعادة التصنيف المرجحة

يوضّح هذا المثال بحثًا هجينًا متعدد الوسائط (topK=5) يتضمن صورًا ونصوصًا ويوضح كيف تقوم استراتيجية إعادة الترتيب المرجحة بإعادة ترتيب النتائج من عمليتي بحث في الشبكة العصبية الاصطناعية.

  • نتائج بحث الشبكة العصبية الاصطناعية على الصور (topK=5):

المعرف

النتيجة (الصورة)

101

0.92

203

0.88

150

0.85

198

0.83

175

0.8

  • نتائج بحث الشبكة العصبية الاصطناعية على النصوص (topK=5):

المعرف

النتيجة (نص)

198

0.91

101

0.87

110

0.85

175

0.82

250

0.78

  • استخدم WeightedRanker لتعيين أوزان لنتائج البحث عن الصور والنصوص. لنفترض أن وزن البحث في الصورة ANN هو 0.6 ووزن البحث في النص هو 0.4.

المعرف

النتيجة (صورة)

النتيجة (النص)

النتيجة المرجحة

101

0.92

0.87

0.6×0.92+0.4×0.87=0.90

203

0.88

غير متاح

0.6×0.88+0.4×0=0.528

150

0.85

غير متاح

0.6×0.85+0.4×0=0.51

198

0.83

0.91

0.6×0.83+0.4×0.91=0.86

175

0.80

0.82

0.6×0.80+0.4×0.82=0.81

110

غير موجود في الصورة

0.85

0.6×0+0.4×0.85=0.34

250

غير موجود في الصورة

0.78

0.6×0+0.4×0.78=0.312

  • النتائج النهائية بعد إعادة الترتيب (توب ك = 5):النتائج النهائية بعد إعادة الترتيب

الرتبة

المعرف

النتيجة النهائية

1

101

0.90

2

198

0.86

3

175

0.81

4

203

0.528

5

150

0.51

استخدام أداة الترجيح

عند استخدام استراتيجية WeightedRanker، من الضروري إدخال قيم الترجيح. يجب أن يتوافق عدد قيم الترجيح التي يجب إدخالها مع عدد طلبات البحث الأساسية للشبكة العصبية الاصطناعية في البحث الهجين. يجب أن تقع قيم الترجيح المدخلة في نطاق [0،1]، حيث تشير القيم الأقرب إلى 1 إلى أهمية أكبر.

على سبيل المثال، لنفترض أن هناك طلبين أساسيين للبحث في البحث الهجين: البحث النصي والبحث عن الصور. إذا اعتُبر البحث النصي أكثر أهمية، فينبغي تعيين وزن أكبر له.

from pymilvus import WeightedRanker

rerank= WeightedRanker(0.8, 0.3)
import io.milvus.v2.service.vector.request.ranker.WeightedRanker;

WeightedRanker rerank = new WeightedRanker(Arrays.asList(0.8f, 0.3f))
import "github.com/milvus-io/milvus/client/v2/milvusclient"

reranker := milvusclient.NewWeightedReranker([]float64{0.8, 0.3})
rerank: WeightedRanker(0.8, 0.3)
export rerank='{
        "strategy": "ws",
        "params": {"weights": [0.8,0.3]}
    }'

RRFRanker

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

آلية عمل RRFRanker

سير العمل الرئيسي لاستراتيجية RRFRanker على النحو التالي:

  1. جمع تصنيفات البحث: جمع تصنيفات النتائج من كل مسار من مسارات البحث المتجه (الرتبة_1، الرتبة_2).

  2. دمج التصنيفات: تحويل التصنيفات من كل مسار (rank_rf_1، rank_rf_rf_2) وفقًا لصيغة .

    تتضمن الصيغة الحسابية والتي تمثل عدد عمليات الاسترجاع. راندي) هو موضع ترتيب المستند (د) الناتج عن المسترجع i(th). k هو معامل تنعيم يتم تعيينه عادةً عند 60.

  3. الترتيب الإجمالي: إعادة تصنيف نتائج البحث بناءً على التصنيفات المجمعة لإنتاج النتائج النهائية.

RRF Reranker مُعيد تصنيف RRRF

مثال على RRRFRanker

يوضّح هذا المثال بحثًا هجينًا (topK=5) على متجهات متناثرة وكثيفة ويوضح كيفية إعادة ترتيب استراتيجية RRFRanker للنتائج من عمليتي بحث في الشبكة العصبية الاصطناعية.

  • نتائج بحث ANN على متجهات متناثرة من النصوص (topK=5):

المعرف

الترتيب (متناثر)

101

1

203

2

150

3

198

4

175

5

  • نتائج بحث الشبكة العصبية الاصطناعية على متجهات كثيفة من النصوص (topK = 5):

المعرف

الرتبة (كثيفة)

198

1

101

2

110

3

175

4

250

5

  • استخدم RRF لإعادة ترتيب ترتيب مجموعتي نتائج البحث. افترض أن معلمة التنعيم k مضبوطة على 60.

المعرف

النتيجة (متناثرة)

النتيجة (كثيفة)

النتيجة النهائية

101

1

2

1/(60+1)+1/(60+2) = 0.01639

198

4

1

1/(60+4)+1/(60+1) = 0.01593

175

5

4

1/(60+5)+1/(60+4) = 0.01554

203

2

غير متاح

1/(60+2) = 0.01613

150

3

غير متاح

1/(60+3) = 0.01587

110

غير متاح

3

1/(60+3) = 0.01587

250

غير متاح

5

1/(60+5) = 0.01554

  • النتائج النهائية بعد إعادة الترتيب (توبك=5):النتائج النهائية بعد إعادة الترتيب

الرتبة

المعرف

النتيجة النهائية

1

101

0.01639

2

203

0.01613

3

198

0.01593

4

150

0.01587

5

110

0.01587

استخدام RRFRFRanker

عند استخدام استراتيجية إعادة ترتيب RRRF، تحتاج إلى تكوين المعلمة k. وهي معلمة تنعيم يمكن أن تغير بشكل فعال الأوزان النسبية للبحث عن النص الكامل مقابل البحث المتجه. القيمة الافتراضية لهذه المعلمة هي 60، ويمكن ضبطها ضمن نطاق (0، 16384). يجب أن تكون القيمة أرقام فاصلة عائمة. القيمة الموصى بها هي بين [10، 100]. في حين أن k=60 هو خيار شائع، إلا أن القيمة المثلى k يمكن أن تختلف بناءً على تطبيقاتك ومجموعات البيانات الخاصة بك. نوصي باختبار هذه المعلمة وتعديلها بناءً على حالة الاستخدام الخاصة بك لتحقيق أفضل أداء.

from pymilvus import RRFRanker

ranker = RRFRanker(100)
import io.milvus.v2.service.vector.request.ranker.RRFRanker;

RRFRanker ranker = new RRFRanker(100);
reranker := milvusclient.NewRRFReranker().WithK(100)
rerank: RRFRanker("100")
"rerank": {
    "strategy": "rrf",
    "params": {
        "k": 100
    }
}
export rerank='{
        "strategy": "rrf",
        "params": {"k": 100}
    }'

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

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

  • مرجِّح الرتبة: يوصى بهذه الاستراتيجية إذا كنت تريد أن تركز النتائج على حقل متجه معين. تسمح لك أداة WeightedRanker المرجحة بتعيين أوزان أعلى لحقول متجهة معينة، والتركيز عليها بشكل أكبر. على سبيل المثال، في عمليات البحث متعدد الوسائط، يمكن اعتبار الأوصاف النصية لصورة ما أكثر أهمية من الألوان في هذه الصورة.

  • RRFRanker (مصنف دمج الرتب المتبادل): يوصى بهذه الاستراتيجية عندما لا يكون هناك تركيز محدد. يمكن لـ RRRF موازنة أهمية كل حقل متجه بشكل فعال.

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟