بحث المتجهات (البحث الدلالي)
تعريف سريع
بحث المتجهات هو طريقة استرجاع ترجع العناصر اللي متجهاتها أقرب لمتجه السؤال، لذلك النتائج تتطابق حسب المعنى موش حسب الكلمات الرئيسية المشتركة. هو المحرك المعتاد للبحث الدلالي.
في هذه الصفحة
كيفاش يعمل بحث المتجهات
كل مستند، مقطع أو منتج يتحول لمتجه ويخزن في فهرس. في وقت الاستعلام، السؤال يتضمن بنفس النموذج، والفهرس يرجع أقرب المتجهات، عادةً تقاس بالتشابه الكوني. حرفي يسأل “حاجة دافئة للتزلج” ينجم يلقى جاكيت موصوف كـ “عازل، مقاوم للماء، غلاف شتوي” حتى وإن ما كانش ثمّة كلمة تطابق.
مقارنة استعلام مع ملايين المتجهات واحد بواحد تكون بطيئة، لذلك الفهارس تستعمل خوارزميات الجوار الأقرب التقريبية. HNSW، رسم بياني متعدد الطبقات وصفه مالكوف ويشونين في 2016، هو من الأكثر استعمالاً؛ يتنازل عن خسارة صغيرة في الدقة مقابل بحث سريع جداً. الإضافات مفتوحة المصدر كيما pgvector تجيب هالفهارس لـ PostgreSQL.
البحث الدلالي مقابل البحث بالكلمات الرئيسية
البحث بالكلمات الرئيسية (BM25، نص كامل، مطابقة ثلاثية) دقيق في المصطلحات الدقيقة: مرجع منتج، علامة تجارية، رمز خطأ. يفشل في المرادفات وإعادة الصياغة. بحث المتجهات هو العكس: قوي في المعنى، ضعيف في السلاسل الدقيقة والمعرفات النادرة.
لهذا السبب معظم أنظمة الإنتاج تستعمل البحث الهجين: تشغل الاثنين، ثم تدمج أو تعيد ترتيب النتائج. أبحاث الاسترجاع الكثيف كيما عمل كاربوكين وزملائه في 2020 حول الإجابة على الأسئلة أظهرت قداش الاسترجاع الدلالي يحسن الاسترجاع، والممارسين تعلموا من وقتها قداش زادة يستفيد من شريك الكلمات الرئيسية.
المخاطر
البحث بالمتجهات يرجع دائماً شيئاً، حتى عندما لا يوجد شيء ذو صلة، لذا يحتاج النظام إلى عتبة صلة أو تحقق قبل استخدام النتائج. لا يفهم الأرقام أو القيود: "أقل من 50 يورو، متوفر، الحجم M" يحتاج إلى فلاتر حقيقية على البيانات المنظمة. وتعتمد الجودة على كيفية تقسيم المحتوى: المقاطع الطويلة جداً تblur المعنى، والمقاطع القصيرة جداً تفقد السياق.
البحث بالمتجهات في AI SmartTalk
AI SmartTalk تخزن التضمينات في PostgreSQL مع pgvector، مع فهرس HNSW على مستندات المنتجات، وتجمع بين تشابه المتجهات والبحث الثلاثي والبحث النصي الكامل. بالنسبة للمنتجات، أداة البحث الخاصة بالمساعد تضيف فلاتر منظمة على السعر، المخزون، العلامة التجارية، الفئة وخصائص المتغيرات، بحيث يمكن الإجابة على سؤال دلالي وقيود دقيقة معاً.
أسئلة متكررة
هل البحث الدلالي هو نفسه البحث بالمتجهات؟
البحث الدلالي هو الهدف - العثور على النتائج حسب المعنى. البحث بالمتجهات عبر التضمينات هو الطريقة الأكثر شيوعًا لتحقيق ذلك، وغالبًا ما يتم دمجه مع البحث بالكلمات الرئيسية.
هل أحتاج إلى قاعدة بيانات متجهات مخصصة؟
ليس بالضرورة. الإضافات مثل pgvector تضيف فهارس متجهات إلى PostgreSQL، وهو ما يكفي للعديد من التطبيقات ويحتفظ بالمتجهات بجانب بقية البيانات.
ما هو البحث الهجين؟
بحث يجمع بين البحث بالمتجهات والبحث بالكلمات الرئيسية معًا ويجمع النتائج، بحيث يتعامل مع الأسئلة المعاد صياغتها والمصطلحات الدقيقة مثل مراجع المنتجات.