MODULE 02 / LESSON 11

Keyword Search — الگوریتم BM25

مفهوم اصلی اگرچه TF-IDF یک الگوریتم کلاسیک برای Keyword Search است، اما بیشتر Retrieverهای مدرن از الگوریتمی به نام: BM25 (Best Matching 25) استفاده می‌کنند. نام BM25 به این دلیل انتخاب شده است که این الگوریتم، نسخه بیست‌وپنجم از…

نویسنده: محمد ابوطالبی۸۳۰ واژهماژول ۲: Retriever

مفهوم اصلی

اگرچه TF-IDF یک الگوریتم کلاسیک برای Keyword Search است، اما بیشتر Retrieverهای مدرن از الگوریتمی به نام:

BM25 (Best Matching 25)

استفاده می‌کنند.

نام BM25 به این دلیل انتخاب شده است که این الگوریتم، نسخه بیست‌وپنجم از مجموعه توابع امتیازدهی پیشنهادی سازندگان آن بوده است.

BM25 در واقع بهبودهایی روی TF-IDF ایجاد می‌کند تا بتواند اسناد مرتبط را بهتر رتبه‌بندی کند.


نحوه عملکرد کلی BM25

BM25 مانند TF-IDF عمل می‌کند:

  1. برای هر Keyword موجود در Prompt، یک امتیاز ارتباط با Document محاسبه می‌کند.
  2. امتیاز تمام Keywordها برای یک Document با هم جمع می‌شوند.
  3. امتیاز نهایی برای رتبه‌بندی Documentها استفاده می‌شود.

فرمول BM25:

  • برای هر Keyword یک امتیاز مرتبط بودن تولید می‌کند.
  • مجموع این امتیازها، میزان ارتباط کلی Document را مشخص می‌کند.

بهبودهای BM25 نسبت به TF-IDF

BM25 چند مشکل TF-IDF را اصلاح می‌کند.


1. Term Frequency Saturation (اشباع تکرار کلمه)

مشکل TF-IDF

در TF-IDF:

هرچه یک Keyword بیشتر در Document تکرار شود، امتیاز آن بیشتر افزایش پیدا می‌کند.

اما این همیشه منطقی نیست.

مثال:

Document A:

pizza pizza pizza ... (20 بار)

Document B:

pizza pizza pizza ... (10 بار)

Document A الزاماً دو برابر مرتبط‌تر از Document B نیست.


راه‌حل BM25

BM25 از مفهوم:

Term Frequency Saturation

استفاده می‌کند.

یعنی:

هرچه تعداد تکرار یک Keyword بیشتر شود، ارزش هر تکرار جدید کمتر می‌شود.

نتیجه:

  • اولین چند بار دیده شدن Keyword اهمیت زیادی دارد.
  • تکرارهای بسیار زیاد تأثیر کمتری دارند.

2. Document Length Normalization (نرمال‌سازی طول سند)

مشکل TF-IDF

در TF-IDF:

اسناد طولانی‌تر ممکن است به دلیل داشتن تعداد بیشتری کلمه، بیش از حد جریمه شوند.

زیرا احتمال دارد فقط به دلیل طول زیاد، Keywordهای بیشتری داشته باشند.


راه‌حل BM25

BM25 نیز طول Document را در نظر می‌گیرد، اما جریمه را به شکل تدریجی اعمال می‌کند.

یعنی:

  • Documentهای بلند همچنان می‌توانند امتیاز خوبی بگیرند.
  • اگر تعداد Keywordهای مرتبط در آن‌ها زیاد باشد، حذف نمی‌شوند.

این فرآیند:

Document Length Normalization

نام دارد.


Hyperparameterهای BM25

BM25 برخلاف TF-IDF دارای دو پارامتر قابل تنظیم (Tunable Hyperparameters) است.

این پارامترها اجازه می‌دهند میزان موارد زیر کنترل شود:

1. Term Frequency Saturation

کنترل می‌کند:

  • با چند بار تکرار یک Keyword، افزایش امتیاز چقدر کاهش پیدا کند.

2. Document Length Normalization

کنترل می‌کند:

  • طول Document چه مقدار روی امتیاز تأثیر بگذارد.

در یک Retriever واقعی:

این پارامترها بر اساس:

  • داده‌های موجود در Knowledge Base
  • نیاز پروژه

تنظیم می‌شوند.


مقایسه BM25 و TF-IDF

ویژگی TF-IDF BM25
نوع روش Keyword Search Keyword Search
استفاده در Retrieverهای مدرن کمتر بسیار رایج
توجه به تکرار Keyword دارد بهتر مدیریت می‌کند
کنترل اشباع تکرار ندارد دارد
نرمال‌سازی طول سند دارد بهتر انجام می‌دهد
پارامتر قابل تنظیم ندارد دارد
عملکرد عملی خوب معمولاً بهتر

چرا BM25 در سیستم‌های Production استفاده می‌شود؟

BM25 در مقایسه با TF-IDF:

عملکرد بهتر

معمولاً اسناد مرتبط را بهتر پیدا می‌کند.

هزینه محاسباتی مشابه

نیاز به منابع پردازشی تقریباً مشابه TF-IDF دارد.

انعطاف بیشتر

به دلیل داشتن Hyperparameterها می‌توان آن را برای Datasetهای مختلف تنظیم کرد.


مرور کلی Keyword Search

ایده اصلی

Keyword Search بر اساس این فرض کار می‌کند:

هرچه کلمات موجود در Prompt بیشتر در یک Document تکرار شوند، احتمال مرتبط بودن آن Document بیشتر است.


تبدیل متن به Sparse Vector

در Keyword Search:

هم Prompt و هم Documentها به Sparse Vector تبدیل می‌شوند.

این Vectorها نشان می‌دهند:

  • هر کلمه از Vocabulary چند بار در متن وجود دارد.

نقش TF-IDF و BM25

TF-IDF و BM25 روش‌هایی برای پردازش این Sparse Vectorها هستند تا:

  • امتیاز ارتباط ایجاد کنند.
  • Documentها را رتبه‌بندی کنند.

آن‌ها عواملی مانند موارد زیر را در نظر می‌گیرند:

  • میزان کمیابی Keyword
  • تعداد دفعات استفاده Keyword در Document
  • طول Document

نقاط قوت Keyword Search

1. سادگی

مهم‌ترین مزیت Keyword Search:

  • ساده است.
  • قابل درک است.
  • در عمل عملکرد خوبی دارد.

گاهی حتی می‌تواند به‌تنهایی یک Benchmark قوی ایجاد کند.


2. تطابق دقیق کلمات

Keyword Search تضمین می‌کند که Documentهای بازیابی‌شده شامل کلمات موجود در Prompt باشند.

این ویژگی در شرایطی بسیار مهم است که کاربر از:

  • اصطلاحات فنی
  • نام دقیق محصولات
  • کلمات تخصصی

استفاده می‌کند.

مثال:

اگر کاربر جستجو کند:

Cisco Catalyst 9300 configuration

وجود همین کلمات دقیق اهمیت زیادی دارد.


محدودیت‌های Keyword Search

وابستگی به کلمات مشابه

مشکل اصلی:

Keyword Search فقط زمانی موفق است که کلمات Prompt با کلمات Document تطابق داشته باشند.

اگر:

  • معنی مشابه باشد.
  • اما کلمات متفاوت باشند.

ممکن است نتیجه پیدا نشود.


مثال

Prompt:

How can I protect my computer from attacks?

Document:

Cybersecurity defense best practices

از نظر معنا مرتبط هستند.

اما اگر کلمات مشترک کافی نداشته باشند، Keyword Search ممکن است آن را پیدا نکند.


جمع‌بندی

  • BM25 الگوریتم رایج Keyword Search در Retrieverهای مدرن است.
  • BM25 نسخه بهبود یافته TF-IDF است.
  • BM25 مشکل تکرار بیش از حد Keyword را با Term Frequency Saturation حل می‌کند.
  • BM25 طول Document را با Document Length Normalization بهتر مدیریت می‌کند.
  • BM25 دارای Hyperparameterهایی است که امکان تنظیم برای Datasetهای مختلف را فراهم می‌کنند.
  • Keyword Search برای تطابق دقیق کلمات بسیار قدرتمند است.
  • ضعف اصلی Keyword Search این است که معنی مشابه با کلمات متفاوت را به‌خوبی تشخیص نمی‌دهد.
  • برای حل این مشکل، از Semantic Search استفاده می‌شود.