0
0
Lập trình
Thaycacac
Thaycacac thaycacac

Khái Niệm và Cách Thức Hoạt Động của Search Engine và Vector Database - Phần 2

Đăng vào 3 ngày trước

• 3 phút đọc

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 SearchHybrid 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.

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ữ.

Để 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 kết hợp cả full-text searchvector 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.

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
Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào