Truy xuất

Giả sử bạn có một mô hình nhúng. Với một người dùng, bạn sẽ quyết định nên đề xuất mặt hàng nào?

Tại thời điểm phân phát, với một truy vấn, bạn bắt đầu bằng cách làm theo một trong những cách sau:

  • Đối với mô hình phân tích ma trận, phương thức nhúng truy vấn (hoặc người dùng) đã biết theo cách tĩnh và hệ thống có thể chỉ cần tra cứu mã từ ma trận nhúng người dùng.
  • Đối với mô hình DNN, hệ thống sẽ tính toán việc nhúng truy vấn \(\psi(x)\) tại thời điểm phân phát bằng cách chạy mạng trên vectơ tính năng \(x\).

Sau khi bạn có mục nhúng truy vấn \(q\), hãy tìm mục nhúng mục \(V_j\) gần với \(q\) trong không gian nhúng. Đây là vấn đề hàng xóm gần nhất. Ví dụ: bạn có thể trả về k hàng đầu theo điểm tương đồng \(s(q, V_j)\).

Hình ảnh quang phổ hai chiều với một số phim và người dùng được sắp xếp
từ phim dành cho trẻ em đến người lớn, tác phẩm nghệ thuật cho đến phim bom tấn. Một người dùng
được đánh dấu cũng như hai bộ phim gần đó.

Bạn có thể sử dụng phương pháp tương tự trong các đề xuất về mặt hàng có liên quan. Ví dụ: khi người dùng đang xem một video trên YouTube, trước tiên, hệ thống có thể tra cứu nhúng mục đó, sau đó tìm mục nhúng của các mục khác \(V_j\) ở gần trong không gian nhúng.

Truy xuất trên quy mô lớn

Để tính toán lân cận gần nhất trong không gian nhúng, hệ thống có thể chấm điểm toàn diện cho mọi ứng cử viên tiềm năng. Điểm tối đa có thể tốn kém đối với một tập sao lục rất lớn, nhưng bạn có thể sử dụng một trong hai các chiến lược sau đây để tăng hiệu quả:

  • Nếu xác định nhúng truy vấn theo cách tĩnh, hệ thống có thể thực hiện tính điểm ngoại tuyến đầy đủ, tính toán trước và lưu trữ danh sách các đề xuất hàng đầu cho mỗi cụm từ tìm kiếm. Đây là một phương pháp thông dụng cho đề xuất mặt hàng có liên quan.
  • Sử dụng thành phần lân cận gần đúng.