Tổng Quan Về Search Engine và Vector Database
Giới Thiệu
Trong bài viết trước, chúng ta đã cùng nhau khám phá một số khái niệm cơ bản như tìm kiếm vector, cơ sở dữ liệu vector và công cụ tìm kiếm. Đặc biệt, chúng ta đã xem xét công cụ Azure Cognitive Search. Hôm nay, chúng ta sẽ đi vào chi tiết về các hình thức tìm kiếm khác mà Azure Cognitive Search cung cấp, bao gồm Azure Vector Search và Hybrid Search.
Azure Cognitive Search
Azure Cognitive Search là một giải pháp tìm kiếm mạnh mẽ được cung cấp bởi Microsoft. Nó bao gồm nhiều phương thức tìm kiếm khác nhau để phục vụ nhu cầu của người dùng.
Azure Vector Search
1. Cách Hoạt Động Của Azure Vector Search
Trong quá trình indexing, Azure Search sẽ tạo ra vector embedding và sử dụng thuật toán nearest neighbors để nhóm những vector có nghĩa tương tự với nhau trong cùng một không gian, gọi là embedding space. Những vector này có thể được tạo ra bằng cách sử dụng embedding model từ OpenAI, Azure OpenAI hoặc các mô hình tùy chỉnh. Để thực hiện truy vấn, bạn cần chuyển đổi input người dùng thành một vector và tìm kiếm những vector tương tự trong không gian lưu trữ.
2. Thuật Toán Nearest Neighbors Search
Để tìm kiếm các vector gần nhất, Azure AI Search hỗ trợ hai thuật toán:
- Hierarchical Navigable Small World (HNSW): Tổ chức dữ liệu dưới dạng cấu trúc đồ thị, giúp tăng tốc độ tìm kiếm cho các tập dữ liệu lớn và hỗ trợ truy cập nhanh hơn nhờ vào bộ nhớ caching.
- Exhaustive K-nearest neighbors (KNN): Tính toán độ tương đồng giữa vector cần truy vấn với tất cả các điểm dữ liệu, phù hợp với bộ dữ liệu nhỏ.
Hybrid Search
Hybrid Search kết hợp cả full-text search và vector search.
1. Cách Hoạt Động Của Hybrid Search
Khi sử dụng hybrid search, hai loại tìm kiếm này hoạt động song song, sau đó kết hợp kết quả từ cả hai và xếp hạng dựa trên phương pháp Reciprocal Rank Fusion.
2. Cấu Trúc Câu Truy Vấn
- search: chỉ định câu truy vấn cho tìm kiếm full-text
- vectors: chỉ định truy vấn vectors
- select: chỉ định trường dữ liệu cần trả về
- filters: chỉ định các tiêu chí bổ sung như khoảng cách địa lý, nhiệt độ
- facets
- queryType=semantic: kích hoạt xếp hạng ngữ nghĩa
Cách Tính Điểm (Score) Của Các Hình Thức Tìm Kiếm
Tất cả các công cụ tìm kiếm đều cần xác định điểm số cho từng kết quả dựa trên một số tiêu chí:
I. Tìm Kiếm Full-Text
- Scoring Algorithms: Sử dụng thuật toán TF/IDF và BM25 để tính toán điểm cho các kết quả tìm kiếm.
- Cải Thiện Hiệu Suất Tìm Kiếm:
- Scoring Profiles: Tùy chỉnh luật ưu tiên cho các trường cụ thể.
- Term Boosting: Điều chỉnh tìm kiếm dựa trên cây truy vấn đã định nghĩa.
II. Tìm Kiếm Vector
Với tìm kiếm vector, các chỉ số chủ yếu được sử dụng là độ đo khoảng cách giữa các vector như cosine, dotProduct, và Euclidean.
III. Hybrid Search
Sử dụng thuật toán Reciprocal Rank Fusion (RRF) để tính điểm cho kết quả tìm kiếm từ nhiều phương thức khác nhau. RRF ưu tiên các tài liệu có thứ hạng cao trong danh sách.
Kết Luận
Hy vọng bài viết hôm nay đã giúp bạn hiểu rõ hơn về các chức năng và cách thức hoạt động của Azure Cognitive Search. Trong phần tiếp theo, chúng ta sẽ tiếp tục khám phá thêm nhiều khía cạnh khác của search engine. Cảm ơn bạn đã theo dõi!
Tài Liệu Tham Khảo
- Tài liệu Azure AI Search
source: viblo