Tổng quan về việc tạo ứng viên

Việc tạo ứng cử viên là giai đoạn đầu tiên của đề xuất. Khi có một truy vấn, hệ thống sẽ tạo một tập hợp các ứng viên có liên quan. Bảng sau đây trình bày hai phương pháp tạo ứng dụng phổ biến:

LoạiĐịnh nghĩaVí dụ:
lọc dựa trên nội dung Sử dụng tính tương đồng giữa các mục để đề xuất các mục tương tự như nội dung người dùng thích. Nếu người dùng A xem hai video về mèo dễ thương, thì hệ thống có thể đề xuất video về động vật dễ thương cho người dùng đó.
lọc cộng tác Sử dụng sự tương đồng giữa truy vấn và mục cùng một lúc để đưa ra đề xuất. Nếu người dùng A tương tự như người dùng B và người dùng B thích video 1, thì hệ thống có thể đề xuất video 1 cho người dùng A (ngay cả khi người dùng A chưa xem video nào tương tự như video 1).

Không gian nhúng

Cả bộ lọc dựa trên nội dung và bộ lọc cộng tác đều ánh xạ từng mục và mỗi truy vấn (hoặc ngữ cảnh) với một vectơ nhúng trong không gian nhúng chung \(E = \mathbb R^d\). Thông thường, không gian nhúng có kích thước thấp (nghĩa là \(d\) nhỏ hơn nhiều so với kích thước của kho dữ liệu) và ghi lại một số cấu trúc ẩn của mục hoặc bộ truy vấn. Các mục tương tự như video YouTube mà cùng một người dùng thường xem sẽ được đưa vào gần nhau trong không gian nhúng. Khái niệm "sự gần gũi" được xác định bằng một số đo tương đồng.

Biện pháp tương tự

Đo lường mức độ tương đồng là một hàm \(s : E \times E \to \mathbb R\) nhận một cặp nhúng và trả về một đại lượng vô hướng đo lường mức độ tương đồng của chúng. Bạn có thể sử dụng tính năng nhúng để tạo ứng viên như sau: khi nhúng truy vấn \(q \in E\), hệ thống sẽ tìm các mục nhúng mục\(x \in E\) gần bằng \(q\), tức là các nội dung nhúng có độ tương đồng cao \(s(q, x)\).

Để xác định mức độ tương đồng, hầu hết các hệ thống đề xuất đều dựa vào một hoặc nhiều yếu tố sau:

  • cosin
  • sản phẩm chấm
  • Khoảng cách Euclide

Cosin

Đây chỉ là đơn vị là góc của hai vectơ, \(s(q, x) = \cos(q, x)\)

Sản phẩm chấm

Tích của dấu chấm của hai vectơ là \(s(q, x) = \langle q, x \rangle = \sum_{i = 1}^d q_i x_i\). Giá trị này cũng được cung cấp bởi \(s(q, x) = \|x\| \|q\| \cos(q, x)\) (cosin của góc nhân với tích của các tiêu chuẩn). Do đó, nếu hoạt động nhúng được bình thường hoá, thì dấu tương ứng của sản phẩm và điểm cosin.

Khoảng cách Euclide

Đây là khoảng cách thông thường trong không gian Euclidean, \(s(q, x) = \|q - x\| = \left[ \sum_{i = 1}^d (q_i - x_i)^2\right]^{\frac{1}{2}}\). Khoảng cách nhỏ hơn có nghĩa là độ tương đồng cao hơn. Xin lưu ý rằng khi các video nhúng được chuẩn hoá, khoảng cách Euclidean bình thường sẽ trùng với sản phẩm chấm (và cosin) lên đến một hằng số, kể từ trường hợp đó \(\frac{1}{2}\|q - x\|^2 = 1 - \langle q, x \rangle\).

Hình ảnh minh hoạ không gian nhúng hai chiều, trong đó có nội dung nhúng truy vấn và ba mục được đề xuất.

So sánh các biện pháp tương tự

Hãy xem ví dụ trong hình bên phải. Vectơ đen minh hoạ tính năng nhúng truy vấn. Ba vectơ nhúng khác (Mục A, Mục B, Mục C) đại diện cho các mục đề xuất. Tuỳ thuộc vào biện pháp tương tự được sử dụng, thứ hạng của các mục có thể khác nhau.

Hãy sử dụng hình ảnh để xác định thứ hạng của mặt hàng bằng cả 3 biện pháp tương tự: cosin, tích điểm và khoảng cách Euclidean.

Bạn muốn chọn yếu tố tương tự nào?

So với cosin, điểm tương đồng của sản phẩm có dấu chấm nhạy cảm với tiêu chuẩn của việc nhúng. Điều này nghĩa là tiêu chuẩn nhúng càng lớn thì mức độ tương đồng càng cao (đối với các mục có góc sắc) và càng có nhiều khả năng được đề xuất. Việc này có thể ảnh hưởng đến các đề xuất như sau:

  • Các mục xuất hiện rất thường xuyên trong tập huấn (ví dụ: các video phổ biến trên YouTube) có xu hướng nhúng với các tiêu chuẩn lớn. Nếu muốn nắm bắt thông tin về mức độ phổ biến, bạn nên ưu tiên sản phẩm có dấu chấm. Tuy nhiên, nếu bạn không cẩn thận, các mặt hàng phổ biến có thể sẽ chiếm ưu thế hơn các đề xuất. Trong thực tế, bạn có thể sử dụng các biến thể khác của các biện pháp tương tự mà ít nhấn mạnh hơn vào tiêu chuẩn của mục. Ví dụ: định nghĩa\(s(q, x) = \|q\|^\alpha \|x\|^\alpha \cos(q, x)\) cho một số \(\alpha \in (0, 1)\).

  • Các mục xuất hiện rất hiếm khi có thể không được cập nhật thường xuyên trong quá trình huấn luyện. Do đó, nếu các hàm này được khởi chạy bằng một tiêu chuẩn lớn, thì hệ thống có thể đề xuất các mục hiếm thay vì các mục liên quan hơn. Để tránh vấn đề này, hãy cẩn thận khi nhúng quá trình khởi chạy và sử dụng quy trình chuẩn hoá thích hợp. Chúng ta sẽ nêu chi tiết vấn đề này trong bài tập đầu tiên.