Hybrid Search là gì? Cách AI kết hợp tìm kiếm từ khóa và ngữ nghĩa

Hybrid

Hybrid Search là gì? Cách AI kết hợp tìm kiếm từ khóa và ngữ nghĩa

Trong các hệ thống tìm kiếm thông tin, không phải lúc nào một phương pháp tìm kiếm cũng có thể đáp ứng tốt mọi nhu cầu. Có những trường hợp người dùng cần tìm chính xác một mã sản phẩm, tên riêng hoặc thuật ngữ chuyên ngành. Nhưng cũng có những trường hợp họ diễn đạt yêu cầu bằng ngôn ngữ tự nhiên và mong muốn hệ thống hiểu được ý nghĩa đằng sau câu hỏi.

Keyword Search có lợi thế trong việc tìm kiếm từ khóa chính xác, trong khi Semantic Search giúp nhận diện những nội dung có ý nghĩa gần với truy vấn. Vậy tại sao không kết hợp cả hai phương pháp?

Đó chính là ý tưởng của Hybrid Search – một kỹ thuật tìm kiếm kết hợp nhiều phương pháp truy xuất thông tin nhằm cải thiện chất lượng kết quả. Hybrid Search đặc biệt hữu ích trong các hệ thống tìm kiếm thông minh, chatbot AI và kiến trúc RAG.

1. Hybrid Search là gì?

Hybrid Search là phương pháp kết hợp hai hoặc nhiều cơ chế tìm kiếm. Trong các hệ thống AI hiện đại, Hybrid Search thường đề cập đến việc kết hợp Keyword Search và Semantic Search.

Hai phương pháp này giải quyết những khía cạnh khác nhau của bài toán tìm kiếm:

  • Keyword Search: tìm tài liệu dựa trên sự xuất hiện và mức độ liên quan của các từ khóa.
  • Semantic Search: tìm tài liệu dựa trên sự tương đồng về ý nghĩa, thường sử dụng Embedding và vector search.

Khi kết hợp hai phương pháp, hệ thống có thể tận dụng ưu điểm của từng cách tiếp cận thay vì phụ thuộc hoàn toàn vào một phương pháp duy nhất.

Ví dụ, người dùng tìm kiếm:

“Chính sách hoàn tiền cho đơn hàng MCNA-2026-015”

Trong trường hợp này, mã đơn hàng là thông tin cần khớp chính xác. Keyword Search có thể đặc biệt hữu ích khi tìm mã đơn hàng đó.

Trong khi đó, nếu người dùng hỏi:

“Tôi có thể lấy lại tiền nếu khóa học không phù hợp không?”

Semantic Search có thể tìm được tài liệu về chính sách hoàn tiền ngay cả khi tài liệu sử dụng cách diễn đạt khác với câu hỏi.

Hybrid Search kết hợp hai hướng tìm kiếm để tăng khả năng tìm được tài liệu phù hợp.

2. Vì sao cần kết hợp Keyword Search và Semantic Search?

2.1. Hạn chế của Keyword Search

Keyword Search có thể tìm kiếm hiệu quả khi người dùng sử dụng đúng thuật ngữ xuất hiện trong tài liệu. Tuy nhiên, phương pháp này có thể gặp khó khăn với những câu hỏi sử dụng từ đồng nghĩa hoặc cách diễn đạt khác nhau.

Ví dụ, tài liệu có câu:

“Các biện pháp kéo dài thời lượng pin cho máy tính xách tay.”

Người dùng lại tìm kiếm:

“Làm sao để laptop dùng được lâu hơn sau mỗi lần sạc?”

Hai câu có ý nghĩa gần nhau nhưng sử dụng nhiều từ khác nhau. Một hệ thống chỉ dựa vào đối chiếu từ khóa có thể không xếp tài liệu này ở vị trí phù hợp.

2.2. Hạn chế của Semantic Search

Semantic Search có thể nhận diện sự tương đồng về ý nghĩa, nhưng điều đó không đồng nghĩa với việc nó luôn xử lý tốt mọi truy vấn.

Ví dụ, người dùng tìm kiếm mã sản phẩm SP-84721. Một hệ thống vector search có thể tìm được những sản phẩm có mô tả tương tự, nhưng mục tiêu thực sự của người dùng có thể là tìm đúng mã sản phẩm đó.

Với các thông tin như mã đơn hàng, số hiệu văn bản, mã sản phẩm hoặc chuỗi ký tự đặc biệt, tìm kiếm từ khóa chính xác thường đóng vai trò quan trọng.

2.3. Lợi ích của Hybrid Search

Hybrid Search kết hợp khả năng tìm kiếm chính xác theo từ khóa với khả năng truy xuất theo ngữ nghĩa.

Nhờ đó, hệ thống có thể:

  • Hỗ trợ các truy vấn có mã định danh hoặc thuật ngữ chính xác.
  • Tìm được tài liệu sử dụng cách diễn đạt khác với truy vấn.
  • Cải thiện khả năng truy xuất trong các kho tài liệu lớn.
  • Cung cấp dữ liệu phù hợp hơn cho chatbot và hệ thống RAG.

3. Hybrid Search hoạt động như thế nào?

Một kiến trúc Hybrid Search phổ biến có thể sử dụng hai nhánh truy xuất song song: một nhánh tìm kiếm từ khóa và một nhánh tìm kiếm vector.

                    User Query
                         |
              +----------+----------+
              |                     |
              v                     v
       Keyword Search         Query Embedding
              |                     |
              v                     v
       Keyword Results          Vector Search
              |                     |
              +----------+----------+
                         |
                         v
                  Result Fusion
                         |
                         v
                 Ranked Documents

Đây là mô hình khái quát. Cách triển khai cụ thể có thể khác nhau tùy theo công nghệ tìm kiếm và kiến trúc hệ thống.

3.1. Bước 1: Chuẩn bị dữ liệu

Trước khi thực hiện tìm kiếm, hệ thống cần thu thập và xử lý dữ liệu. Với kho tài liệu phục vụ RAG, dữ liệu có thể đến từ PDF, tài liệu Word, trang web hoặc cơ sở kiến thức nội bộ.

Quy trình tiền xử lý có thể bao gồm:

  • Trích xuất nội dung từ tài liệu.
  • Làm sạch dữ liệu.
  • Chia tài liệu thành các đoạn nhỏ bằng kỹ thuật Chunking.
  • Lưu nội dung cùng Metadata.
  • Tạo Embedding cho các đoạn cần tìm kiếm ngữ nghĩa.

Hệ thống đồng thời cần xây dựng cơ chế lập chỉ mục phù hợp để phục vụ Keyword Search và Vector Search.

3.2. Bước 2: Thực hiện Keyword Search

Keyword Search tìm những tài liệu có mức độ liên quan cao với các từ khóa trong truy vấn.

Một thuật toán thường được sử dụng trong hệ thống tìm kiếm văn bản là BM25. Thuật toán này đánh giá mức độ liên quan dựa trên các yếu tố như tần suất từ trong tài liệu, độ phổ biến của từ trong tập dữ liệu và độ dài tài liệu.

BM25 không chỉ đơn giản đếm số lần xuất hiện của từ khóa. Nó sử dụng cơ chế tính điểm để xếp hạng các tài liệu phù hợp hơn với truy vấn.

3.3. Bước 3: Thực hiện Vector Search

Ở nhánh còn lại, truy vấn được chuyển thành một vector bằng mô hình Embedding.

User Query
    |
    v
Embedding Model
    |
    v
Query Vector
    |
    v
Vector Search
    |
    v
Semantic Results

Hệ thống so sánh vector truy vấn với các vector tài liệu đã lưu để tìm những nội dung gần nhau theo một độ đo tương đồng hoặc khoảng cách phù hợp.

Ví dụ, các câu “học Python cho người mới bắt đầu” và “cách bắt đầu lập trình bằng Python” có thể có mức độ tương đồng ngữ nghĩa cao dù cách diễn đạt khác nhau.

3.4. Bước 4: Kết hợp kết quả

Sau khi hai nhánh tìm kiếm trả về các danh sách tài liệu, hệ thống cần kết hợp chúng thành một danh sách kết quả chung.

Đây là bước quan trọng của Hybrid Search. Hai nhánh có thể sử dụng những thang điểm khác nhau, vì vậy không phải lúc nào cũng có thể cộng trực tiếp điểm số của chúng.

Một phương pháp phổ biến là Reciprocal Rank Fusion (RRF), kết hợp kết quả dựa trên thứ hạng của tài liệu trong các danh sách tìm kiếm.

4. Reciprocal Rank Fusion (RRF) là gì?

Reciprocal Rank Fusion là phương pháp kết hợp các danh sách kết quả tìm kiếm dựa trên vị trí xếp hạng của từng tài liệu.

Công thức tổng quát thường được biểu diễn như sau:

RRF(d) = Σ 1 / (k + rank_i(d))

Trong đó:

  • d: tài liệu cần tính điểm kết hợp.
  • rank_i(d): thứ hạng của tài liệu d trong danh sách kết quả thứ i.
  • k: hằng số giúp điều chỉnh mức ảnh hưởng của thứ hạng.

Nếu một tài liệu xuất hiện ở thứ hạng cao trong nhiều danh sách, nó có thể nhận được điểm RRF cao hơn.

Ví dụ, một tài liệu được xếp hạng tốt cả trong Keyword Search và Vector Search có thể được ưu tiên hơn một tài liệu chỉ xuất hiện nổi bật trong một nhánh.

Ưu điểm của RRF là có thể kết hợp các danh sách xếp hạng mà không cần giả định rằng điểm số gốc của hai hệ thống có cùng thang đo.

Tuy nhiên, RRF không phải phương pháp duy nhất. Một số hệ thống sử dụng trọng số, chuẩn hóa điểm số hoặc các mô hình xếp hạng lại để kết hợp kết quả.

5. Ví dụ thực tế về Hybrid Search

Giả sử một doanh nghiệp có ba tài liệu trong hệ thống quản lý kiến thức:

Tài liệu Nội dung Đặc điểm
A Quy định hoàn tiền cho đơn hàng MCNA-2026-015 Có mã đơn hàng chính xác
B Hướng dẫn xử lý yêu cầu hoàn tiền của khách hàng Nội dung gần với ý định truy vấn
C Hướng dẫn đăng ký khóa học Python Ít liên quan hơn

Người dùng nhập truy vấn:

“Quy định hoàn tiền đơn MCNA-2026-015 là gì?”

Keyword Search có thể ưu tiên tài liệu A vì chứa chính xác mã đơn hàng.

Semantic Search có thể tìm thấy cả tài liệu A và B do chúng cùng đề cập đến việc hoàn tiền.

Khi kết hợp kết quả, Hybrid Search có cơ hội đưa tài liệu A lên vị trí phù hợp nhờ thông tin khớp chính xác, đồng thời vẫn giữ lại tài liệu B nếu nó cung cấp thêm thông tin hữu ích.

Thứ hạng thực tế phụ thuộc vào dữ liệu, cách tính điểm, chiến lược hợp nhất và cấu hình của hệ thống.

6. Hybrid Search trong hệ thống RAG

RAG (Retrieval-Augmented Generation) là kiến trúc kết hợp khả năng truy xuất thông tin với mô hình ngôn ngữ lớn để tạo câu trả lời dựa trên dữ liệu được cung cấp.

Trong RAG, chất lượng truy xuất ảnh hưởng trực tiếp đến chất lượng thông tin mà mô hình nhận được. Nếu hệ thống không tìm được tài liệu phù hợp, LLM có thể thiếu căn cứ để trả lời chính xác.

Hybrid Search có thể được sử dụng ở bước Retrieval để tìm những đoạn tài liệu liên quan theo cả từ khóa và ngữ nghĩa.

User Question
      |
      v
+--------------------+
|   Hybrid Search    |
|                    |
| Keyword + Semantic |
+--------------------+
      |
      v
Retrieved Documents
      |
      v
Context Construction
      |
      v
       LLM
      |
      v
Generated Answer

Ví dụ, trong chatbot nội bộ doanh nghiệp:

  • Nhân viên tìm chính xác mã quy trình bằng Keyword Search.
  • Nhân viên đặt câu hỏi tự nhiên bằng Semantic Search.
  • Hybrid Search kết hợp các kết quả để tạo danh sách tài liệu ứng viên.
  • Hệ thống đưa các đoạn phù hợp vào context cho LLM.

Hybrid Search không tự tạo ra câu trả lời như LLM. Vai trò chính của nó là cải thiện bước tìm kiếm thông tin đầu vào.

7. Hybrid Search, Keyword Search và Semantic Search khác nhau như thế nào?

Tiêu chí Keyword Search Semantic Search Hybrid Search
Cơ chế chính Khớp từ khóa Tương đồng ngữ nghĩa Kết hợp nhiều phương pháp
Truy vấn tự nhiên Có thể gặp khó khăn khi khác từ ngữ Phù hợp với nhiều cách diễn đạt Kết hợp khả năng của cả hai
Mã định danh chính xác Thường hữu ích Có thể không phải lựa chọn tối ưu duy nhất Có thể tận dụng cả khớp chính xác và ngữ nghĩa
Thành phần phổ biến Inverted Index, BM25 Embedding, Vector Search Keyword Search, Vector Search, Fusion
Độ phức tạp Tùy hệ thống, thường đơn giản hơn Cần mô hình và hạ tầng vector Cần thiết kế và kết hợp nhiều nhánh

Không có phương pháp nào luôn tốt nhất trong mọi trường hợp. Việc lựa chọn phụ thuộc vào đặc điểm dữ liệu, loại truy vấn, yêu cầu về độ chính xác và chi phí vận hành.

8. Khi nào nên sử dụng Hybrid Search?

Hybrid Search đặc biệt đáng cân nhắc khi hệ thống cần xử lý đồng thời nhiều loại truy vấn.

8.1. Kho tài liệu doanh nghiệp

Nhân viên có thể tìm kiếm bằng mã tài liệu, tên quy trình hoặc câu hỏi tự nhiên. Kết hợp nhiều phương pháp giúp hệ thống phục vụ đa dạng nhu cầu hơn.

8.2. Chatbot hỏi đáp tài liệu

Chatbot có thể cần tìm những đoạn chứa chính xác tên sản phẩm, đồng thời hiểu được câu hỏi diễn đạt bằng ngôn ngữ tự nhiên.

8.3. Tìm kiếm sản phẩm

Hệ thống thương mại điện tử có thể kết hợp truy vấn chính xác như mã sản phẩm với các yêu cầu ngữ nghĩa như “laptop nhẹ để đi học”.

8.4. Hệ thống RAG chuyên nghiệp

Khi dữ liệu gồm nhiều tài liệu, thuật ngữ chuyên ngành và câu hỏi đa dạng, Hybrid Search có thể là một lựa chọn để cải thiện khả năng truy xuất. Tuy nhiên, hiệu quả cần được kiểm chứng bằng dữ liệu đánh giá thực tế.

9. Hybrid Search có những hạn chế gì?

9.1. Kiến trúc phức tạp hơn

Hệ thống cần vận hành và tối ưu nhiều nhánh tìm kiếm, thay vì chỉ dựa vào một cơ chế duy nhất.

9.2. Cần thiết kế cách hợp nhất kết quả

Việc chọn RRF, kết hợp điểm số hay dùng mô hình reranking có thể ảnh hưởng đáng kể đến thứ hạng cuối cùng.

9.3. Tốn thêm tài nguyên

Hybrid Search có thể yêu cầu thêm chi phí lưu trữ chỉ mục, tạo embedding, truy vấn và xử lý kết quả. Mức chi phí thực tế phụ thuộc vào quy mô dữ liệu và cách triển khai.

9.4. Không đảm bảo kết quả luôn chính xác

Kết hợp hai phương pháp không tự động loại bỏ mọi lỗi. Hệ thống vẫn có thể bỏ sót tài liệu, trả về kết quả không liên quan hoặc xếp hạng chưa phù hợp.

Vì vậy, cần đánh giá chất lượng truy xuất bằng những truy vấn đại diện cho nhu cầu thực tế của người dùng.

10. Cách đánh giá chất lượng Hybrid Search

Để biết Hybrid Search có thực sự cải thiện hệ thống hay không, cần so sánh kết quả với các phương pháp cơ sở.

Một số chỉ số thường dùng trong Information Retrieval gồm:

  • Precision@K: tỷ lệ tài liệu liên quan trong K kết quả đầu tiên.
  • Recall@K: tỷ lệ tài liệu liên quan được tìm thấy trong K kết quả đầu tiên so với tổng số tài liệu liên quan đã biết.
  • MRR: đánh giá vị trí xuất hiện của kết quả liên quan đầu tiên.
  • nDCG@K: đánh giá chất lượng thứ hạng, có xét đến mức độ liên quan của tài liệu.

Quy trình đánh giá có thể thực hiện như sau:

  1. Chuẩn bị tập truy vấn đại diện.
  2. Xác định những tài liệu phù hợp cho từng truy vấn.
  3. Chạy Keyword Search, Semantic Search và Hybrid Search.
  4. Tính các chỉ số đánh giá.
  5. So sánh kết quả và điều chỉnh tham số.

Ngoài các chỉ số truy xuất, hệ thống RAG còn cần được đánh giá về độ chính xác của câu trả lời cuối cùng, mức độ bám sát nguồn và độ trễ phản hồi.

11. Tổng kết

Hybrid Search là phương pháp kết hợp nhiều cơ chế tìm kiếm, thường là Keyword Search và Semantic Search, để tận dụng điểm mạnh của từng phương pháp.

Các thành phần chính có thể gồm:

  • Keyword Search: hỗ trợ tìm kiếm dựa trên từ khóa và mức độ liên quan của văn bản.
  • Semantic Search: hỗ trợ tìm kiếm dựa trên ý nghĩa thông qua Embedding và Vector Search.
  • Result Fusion: kết hợp danh sách kết quả từ các nhánh tìm kiếm.
  • Reranking: tùy chọn để đánh giá lại và sắp xếp các tài liệu ứng viên.
  • RAG: sử dụng những tài liệu được truy xuất để cung cấp context cho LLM.

Điểm quan trọng không phải là Hybrid Search luôn tốt hơn mọi phương pháp khác, mà là nó cho phép hệ thống xử lý linh hoạt hơn những truy vấn vừa cần khớp chính xác, vừa cần hiểu ngữ nghĩa.

Đây là một kiến thức nền tảng hữu ích trước khi tìm hiểu sâu hơn về Retrieval, Reranking và cách thiết kế hệ thống RAG cho các ứng dụng AI thực tế.

Tài liệu tham khảo

Khám phá thêm tại MCNA Technology School

Nếu bạn muốn tìm hiểu thêm về Data, AI và các ứng dụng thực tế của trí tuệ nhân tạo, hãy tham khảo các chương trình học tại MCNA Technology School:

Combo 5 khóa AI và Power BI

Combo Python


Tác giả: Bùi Đình Tuyển – Data Analyst tại MCNA Technology School

Hotline: 0939.866.825 (Mr. Minh Khang)

Website: mcna.vn

Hà Nội: 30 Trung Liệt, Đống Đa | Liền kề 44B TT2 Văn Quán, Hà Đông

TP.HCM: 50B Phan Tây Hồ, Cầu Kiệu

→ Chỉ mục