Sparse Retriever
Định nghĩa
Sparse retriever là retriever biểu diễn query và document bằng vector thưa dựa trên từ khóa/term, rồi xếp hạng document theo mức overlap lexical với query.
Cách hiểu bằng lời của tôi
Sparse retriever giống tìm kiếm từ khóa có chấm điểm. Nó hỏi: document nào chứa các từ quan trọng trong query, đặc biệt là những từ hiếm và phân biệt tốt?
query text
-> tách thành terms
-> so với term index của documents
-> tính relevance score
-> trả về top-k passagesPhần cần biết
- Vector gọi là “sparse” vì mỗi document chỉ có giá trị ở một số term trong vocabulary rất lớn.
- BM25 là baseline phổ biến cho sparse retrieval.
- Sparse retriever nhanh, dễ debug và hoạt động tốt khi query/document có overlap từ khóa rõ.
- Nó yếu hơn dense retrieval khi query và document dùng từ khác nhau nhưng cùng nghĩa.
- Trong QA pipeline, sparse retriever quyết định passage nào được đưa sang Reader.
Ví dụ trực quan
Query: "battery life good?"
Review A: "battery lasts two days" -> match tốt
Review B: "power endurance is excellent" -> cùng nghĩa nhưng ít overlap từ khóaSparse retriever dễ tìm Review A hơn Review B.
Khi áp dụng
- Dùng làm baseline đầu tiên cho Building a Review-Based QA System.
- Dùng khi corpus lớn và cần retrieval nhanh.
- Dùng khi muốn debug bằng term match thay vì embedding similarity.
- Có thể kết hợp với Dense Passage Retrieval hoặc reranking để tăng chất lượng top-k.
Câu hỏi review
- Vì sao gọi là sparse retriever?
- Sparse retriever mạnh khi nào?
- Sparse retriever dễ thất bại trong tình huống nào?
Gợi ý trả lời câu hỏi review
- Vì query/document được biểu diễn bằng vector term rất lớn nhưng chỉ có ít chiều khác 0.
- Khi query và document có overlap từ khóa rõ, hoặc cần baseline nhanh/dễ debug.
- Khi cùng ý nghĩa nhưng dùng từ khác nhau, paraphrase nhiều, hoặc cần hiểu ngữ nghĩa sâu.