BM25F چیست و چه فرقی با BM25 دارد؟
BM25F چیست، چه تفاوتی با BM25 دارد و چرا field-aware lexical retrieval برای اسناد سازمانی و RAG مهم است؟ برای پیادهسازی عملی.
- BM25F
- BM25F vs BM25
- field weighted search
- lexical retrieval

مقدمه
BM25 یکی از ستونهای اصلی جستجوی متنی است. با وجود رشد Semantic Search، BM25 هنوز هم در retrieval مدرن نقش مهمی دارد. اما در بسیاری از corpusهای واقعی، سند فقط یک متن یکنواخت نیست؛ title، body، keywords، references و metadata هر کدام اهمیت متفاوتی دارند. اینجاست که BM25F وارد میشود.
BM25F نسخهای field-aware از BM25 است که به فیلدهای مختلف سند وزنهای متفاوت میدهد.
BM25 چه میکند؟
BM25 یک الگوریتم lexical ranking است که بر اساس frequency واژهها، طول سند و آمار corpus تصمیم میگیرد کدام سند برای یک query مناسبتر است. برای queryهای keyword-heavy، BM25 بسیار قوی است.
اما BM25 سنتی معمولاً سند را بهصورت یک متن واحد میبیند. این باعث میشود اگر عبارت جستجو در title آمده باشد یا در بدنه، تقریباً با همان منطق دیده شود.
BM25F چه تفاوتی دارد؟
BM25F میگوید سند از چند field تشکیل شده و هر field وزن خودش را دارد. برای مثال:
titleوزن بالاkeywordsوزن متوسط رو به بالاbodyوزن اصلیreferencesوزن بسته به use case
به این ترتیب، اگر term در title آمده باشد، میتواند امتیاز بیشتری نسبت به بدنه بگیرد.
چرا این موضوع مهم است؟
در اسناد سازمانی، title یا subject گاهی از کل body مهمتر است. فرض کنید query کاربر «سیاست مرخصی» باشد. اگر عبارت در title آمده باشد، احتمالاً آن سند بهتر از سندی است که فقط در متن به آن اشارهای گذرا دارد.
یا در code/doc retrieval، fieldهایی مثل function_name یا error_code میتوانند weight بالاتری داشته باشند.
تجربه ما در ماژول
در ماژول، بعد از اینکه multi-representation را برای dense retrieval جدی کردیم، طبیعی بود که lexical retrieval هم از حالت plain BM25 بیرون بیاید. نتیجه این شد که BM25F برای title، body، keywords و references طراحی شد.
این تغییر دو مزیت داشت:
- ranking lexical منطقیتر شد.
- Hybrid Search هنگام fusion سیگنال lexical غنیتری دریافت کرد.
BM25F در چه سناریوهایی مهمتر است؟
- مستندات policy و اسناد رسمی
- knowledge base سازمانی
- code search و technical docs
- catalogها و product docs
- سندهایی که metadata غنی دارند
تنظیم وزن fieldها
یکی از اشتباههای رایج این است که field weights را دلخواه و بدون benchmark تنظیم کنیم. بهتر است:
- با چند تنظیم ساده شروع کنید.
- روی gold query set ارزیابی بگیرید.
- Recall/NDCG را مقایسه کنید.
- overfitting به یک use case خاص را کنترل کنید.
BM25F و Hybrid Retrieval
BM25F بهتنهایی کافی نیست، اما در Hybrid Retrieval بسیار ارزشمند است. وقتی Dense Retrieval معنا را میگیرد و BM25F structure fieldها را، fusion خروجی بهتری میدهد.
جمعبندی
BM25F نسخه بالغتری از lexical retrieval برای دنیای واقعی است. اگر سند شما چندفیلدی است و title، body، keywords یا references اهمیت متفاوت دارند، BM25F معمولاً از BM25 ساده بهتر عمل میکند. برای RAG سازمانی و جستجوی اسناد، این تفاوت میتواند مستقیماً کیفیت retrieval را بهتر کند.
بهروزرسانی:
همهٔ نوشتهها