Tổng quan về quá trình tạo ứng viên

Tạo ứng viên là giai đoạn đầu tiên của quá trình đề xuất. Với một truy vấn, hệ thống sẽ tạo một tập hợp các đề xuất phù hợp. Bảng sau đây trình bày hai phương pháp tạo ứng viên phổ biến:

LoạiĐịnh nghĩaVí dụ:
lọc dựa trên nội dung Sử dụng điểm giống nhau giữa các mặt hàng để đề xuất mặt hàng tương tự với nội dung người dùng thích. Nếu người dùng A xem hai video mèo dễ thương, thì hệ thống có thể đề xuất video động vật đáng yêu cho người dùng đó.
lọc cộng tác Sử dụng những điểm tương đồng giữa các truy vấn và các mục cùng 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 làm đã xem bất kỳ video nào tương tự như video 1).

Nhúng không gian

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

Các chỉ số đo lường mức độ tương đồng

Đo lường mức độ tương đồng là một hàm \(s : E \times E \to \mathbb R\) lấy một cặp nhúng và trả về một đại lượng đo độ đồng nhất của chúng. Bạn có thể sử dụng các mục nhúng để tạo đề xuất như sau: dựa trên 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 với \(q\), tức là các mục nhúng có điểm tương đồng \(s(q, x)\).

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

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

Cosin

Đây đơn giản là cosin của góc giữa hai giá trị này vectơ, \(s(q, x) = \cos(q, x)\)

Tích vô hướng

Tích vô hướng của hai vectơ là \(s(q, x) = \langle q, x \rangle = \sum_{i = 1}^d q_i x_i\). Hàm này còn được tính bằng công thức sau: \(s(q, x) = \|x\| \|q\| \cos(q, x)\) (cosin của góc nhân với tích của định mức). Do đó, nếu các mục nhúng chuẩn hoá, rồi tích chấm và cosin trùng nhau.

Khoảng cách Euclide

Đây là khoảng cách thông thường trong định dạng Euclide , \(s(q, x) = \|q - x\| = \left[ \sum_{i = 1}^d (q_i - x_i)^2\right]^{\frac{1}{2}}\). Khoảng cách càng nhỏ thì mức độ tương đồng càng cao. Lưu ý rằng khi nhúng được chuẩn hoá, khoảng cách Euclide bình phương trùng với tích vô hướng (và cosin) cho một hằng số, vì trong đó trường hợp \(\frac{1}{2}\|q - x\|^2 = 1 - \langle q, x \rangle\).

Hình ảnh thể hiện không gian nhúng hai chiều, trong đó có một mục nhúng truy vấn và 3 mục đề xuất.

So sánh các chỉ số tương đồng

Hãy xem xét ví dụ trong hình ở bên phải. Vectơ màu đen minh hoạ cho 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 ứng viên. Tuỳ thuộc vào thước đo mức độ tương đồng được sử dụng, thứ hạng của các mặt hàng có thể khác nhau.

Trong hình ảnh này, hãy cố gắng xác định thứ hạng của mặt hàng bằng cách sử dụng cả ba thuộc tính các số đo độ tương đồng: cosin, tích vô hướng và khoảng cách Euclide.

Phương pháp đo lường sự tương đồng nào?

So với cosin, tính tương đồng của tích vô hướng nhạy cảm với quy tắc nhúng. Tức là, chuẩn mực càng lớn thì mức độ tương đồng càng cao (đối với các mục có góc nhọn) và mặt hàng đó càng có nhiều khả năng được đề xuất. Điều này có thể ảnh hưởng đề xuất như sau:

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

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