BM25: Vị Anh Hùng Thầm Lặng Của Tìm Kiếm Lai và Sắp Xếp Kết Quả - Bạn Đã Biết Gì Về Algorithn Cũ Mà Chất Này?
Lê Lân
0
Tích Hợp BM25 Trong Các Hệ Thống Tìm Kiếm Kết Hợp Và Pipeline Reranking: Chiến Lược Và Ứng Dụng
Mở Đầu
BM25 (Best Matching 25) là một thuật toán cốt lõi trong lĩnh vực truy xuất thông tin, nổi tiếng với khả năng đánh giá độ liên quan dựa trên từ khóa một cách hiệu quả và chính xác.
Trong bối cảnh các hệ thống tìm kiếm hiện đại ngày càng phát triển với sự xuất hiện của các phương pháp neural reranker và tìm kiếm dựa trên vector ngữ nghĩa, BM25 vẫn giữ một vai trò quan trọng trong kiến trúc kết hợp và pipeline reranking. Bài viết này nhằm phân tích chi tiết về vai trò kép của BM25 trong các hệ thống tìm kiếm hybrid và quy trình reranking, đồng thời trình bày các phương pháp triển khai, ứng dụng phổ biến, cùng những lưu ý kỹ thuật cần thiết.
Nội dung sẽ bao gồm: cách BM25 hoạt động trong kiến trúc tìm kiếm kết hợp, phương pháp tích hợp BM25 vào pipeline reranking, hướng dẫn tối ưu và những hạn chế của thuật toán, cùng xu hướng phát triển trong lĩnh vực hiện đại.
1. BM25 Trong Hệ Thống Tìm Kiếm Kết Hợp
1.1 Tìm Kiếm Kết Hợp Và Vai Trò Của BM25
Hybrid search kết hợp giữa tìm kiếm dựa trên từ khóa (BM25) và tìm kiếm vector ngữ nghĩa nhằm cân bằng giữa độ chính xác và khả năng bao phủ. BM25 đảm bảo các bản ghi có từ khóa chính xác và trọng số hiếm từ được ưu tiên, trong khi vector search giúp nắm bắt mối quan hệ ngữ cảnh sâu sắc hơn.
1.2 Kết Hợp Truy Xuất Song Song (Parallel Retrieval Fusion)
Trong nhiều hệ thống phổ biến như Elasticsearch hay Weaviate, BM25 và vector search được thực hiện độc lập, sau đó kết quả được hợp nhất qua các thuật toán fusion:
Reciprocal Rank Fusion (RRF): Được tính theo công thức:
, trong đó
là vị trí xếp hạng từ từng truy vấn,
là hằng số tránh chia cho 0.
Weighted Score Combination: Kết hợp điểm BM25 và điểm vector qua tham số trọng số điều chỉnh
:
1.3 BM25 Là Bộ Lọc Tiền Xử Lý (Pre-Filter)
Đối với các ứng dụng đòi hỏi độ trễ thấp, BM25 được dùng để rút gọn tập ứng viên trước khi thực hiện tìm kiếm vector nhằm giảm tải tính toán.
Ví dụ truy vấn SQL giả định:
SELECT*FROM documents
WHERE bm25_match(query)
ORDERBY vector_similarity DESC LIMIT 100
Cách tiếp cận hai giai đoạn này giúp loại bỏ sớm các tài liệu không liên quan và cải thiện hiệu suất truy vấn.
1.4 BM25F – Mở Rộng Đa Trường Trong Tìm Kiếm Kết Hợp
BM25F cho phép gán trọng số khác nhau cho các trường dữ liệu (ví dụ: tiêu đề, thân bài). Trong Weaviate, biểu thức được mở rộng thành:
Trong đó:
: trọng số của trường dữ liệu
: độ dài trường
: tham số chuẩn hóa độ dài
: tần suất thuật ngữ trong trường
: trọng số nghịch đảo tần suất tài liệu
BM25F giúp cân bằng mức độ quan trọng theo từng trường dữ liệu, cải thiện độ chính xác tổng thể trong dữ liệu cấu trúc.
2. BM25 Trong Pipeline Reranking
2.1 Trước Khi Reranking (Hybrid Pre-Reranking)
Một phương pháp phổ biến là BM25 cùng vector search truy vấn lấy số lượng ứng viên khoảng 100-200 tài liệu, sau đó được đưa vào các mô hình cross-encoder (ví dụ như bge-reranker-v2-m3) hoặc mô hình ngôn ngữ lớn (LLM) để sắp xếp lại.
BM25 lấy 50 tài liệu hàng đầu
Vector search lấy 50 tài liệu hàng đầu
Cross-encoder rerank tập hợp 100 tài liệu này
2.2 Bổ Sung Điểm BM25 Vào Mô Hình Neural Reranker
Điểm BM25 có thể được đưa vào như một đặc trưng đầu vào cho mô hình reranking. Một ví dụ dữ liệu JSON:
{
"document":"text",
"bm25_score":0.85,
"vector_score":0.92
}
Nghiên cứu của TREC Deep Learning Track ghi nhận việc ghép điểm BM25 vào dạng token văn bản (ví dụ "BM25=0.85") có thể cải thiện độ chính xác của reranker dựa trên BERT lên 7.3% ở chỉ số MRR@10.
2.3 Sử Dụng BM25 Làm Tiêu Chí Phân Giải Tranh Chấp (Fallback Tiebreaking)
Trong trường hợp các neural reranker trả về điểm số bằng nhau, BM25 được tận dụng để phá vỡ tình trạng hòa bằng cách:
Điều này rất quan trọng trong các lĩnh vực yêu cầu tính minh bạch và giải trình như pháp lý hay quy định.
3. Các Trường Hợp Sử Dụng Và Hướng Dẫn Triển Khai
3.1 Khi Nào Nên Dùng BM25 Trong Hybrid/Reranking
Tài liệu có sự phân bố từ khóa rõ ràng, yêu cầu đối sánh chính xác
Ứng dụng đòi hỏi khả năng giải thích và độ trễ thấp
Kết hợp với vector search để khai thác cả ngữ nghĩa và độ chính xác từ khóa
3.2 Chiến Lược Tối Ưu
Điều chỉnh tham số: Tinh chỉnh
(bão hòa tần suất từ) và
(chuẩn hóa độ dài). Ví dụ: Với tài liệu kỹ thuật,
,
thường phù hợp nhất.
Trọng số động: Phân loại truy vấn để thiết lập trọng số
. Ví dụ:
Truy vấn điều hướng như "Facebook login":
Truy vấn khám phá như "AI ethics":
Lược bỏ dựa trên ngưỡng BM25: Loại bỏ những tài liệu có điểm BM25 thấp hơn một giá trị ngưỡng (ví dụ,
) trước khi áp dụng tìm kiếm vector giúp giảm độ trễ.
4. Hạn Chế Và Các Giải Pháp Thay Thế
4.1 Những Nhược Điểm Của BM25
Không nắm bắt được mối quan hệ ngữ nghĩa sâu, ví dụ đồng nghĩa như "car" và "automobile" không được xem là tương đương.
Hiệu quả thấp với truy vấn dài hoặc ngôn ngữ ít tài nguyên.
Điểm số không chuẩn hóa, khó so sánh trực tiếp giữa các bảng chỉ mục khác nhau, gây khó khăn trong tìm kiếm liên bảng (federated search).
4.2 Khi Nào Nên Chọn Neural Rerankers
Truy vấn có độ phức tạp ngữ nghĩa cao, ví dụ như "tác động của lạm phát đến việc áp dụng năng lượng tái tạo".
Môi trường đa ngôn ngữ: Các mô hình như Cohere Rerank hay Vectara Multilingual vượt trội BM25 trên hơn 40 ngôn ngữ.
Yêu cầu cá nhân hóa cao: Mô hình học để xếp hạng (LTR) tùy biến theo từng người dùng.
5. Xu Hướng Mới Nổi
BM25 như một đặc trưng trong reranker: Tại TREC 2023 Deep Learning Track, việc thêm điểm BM25 vào văn bản tài liệu ("Document: ... [BM25=0.72]") giúp cải thiện sự bền vững của các mô hình reranking.
Mô hình lai Sparce-Dense: SPLADE tích hợp trọng số giống BM25 cùng các biểu diễn neural, đạt gần 94% tốc độ BM25 nhưng vẫn giữ 98% độ chính xác của BERT.
BM25 trong Pipeline LLM: Các thư viện như LangChain và LlamaIndex dùng BM25 để lọc ngữ cảnh đầu vào cho LLMs, giảm rủi ro tạo ra thông tin sai lệch (hallucination) từ 22–37%.
Kết Luận
BM25 vẫn giữ vị trí không thể thiếu trong hệ thống tìm kiếm kết hợp và pipeline reranking dù sự gia tăng của các phương pháp neural hiện đại. Các điểm mạnh của BM25 gồm:
Tính toán hiệu quả
Khả năng giải thích và minh bạch
Độ chính xác cao trong đối sánh từ khóa ngay
Trong khi đó, tìm kiếm vector lại nổi bật trong khả năng hiểu ngữ nghĩa sâu sắc hơn. Tích hợp BM25 từ bước truy vấn đầu tiên kết hợp việc đưa điểm BM25 vào mô hình reranking và sử dụng neural reranker thuần cho các trường hợp phức tạp giúp đạt hiệu quả tốt nhất.
Khuyến nghị:
Dùng BM25 như bộ lọc đầu tiên trong hệ thống hybrid
Bổ sung điểm BM25 vào neural reranker dưới dạng đặc trưng
Ưu tiên neural reranker khi xử lý truy vấn phức tạp, đa ngôn ngữ hay yêu cầu cá nhân hóa cao
Tham Khảo
Robertson, S.E., Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends in Information Retrieval, 3(4), 333–389.
Nogueira, R., Cho, K. (2020). Passage Re-ranking with BERT. arXiv preprint arXiv:1901.04085.