Lọc cộng tác

Để giải quyết một số hạn chế của tính năng lọc dựa trên nội dung, tính năng lọc cộng tác sử dụng sự tương đồng giữa người dùng và các mục cùng lúc để đưa ra đề xuất. Điều này cho phép các đề xuất ngẫu nhiên; nghĩa là, các mô hình lọc cộng tác có thể đề xuất một mục cho người dùng A dựa trên mối quan tâm của người dùng tương tự B. Hơn nữa, việc nhúng có thể tự động học được mà không cần dựa vào kỹ thuật xử lý thủ công của các tính năng.

Ví dụ về đề xuất phim

Hãy xem xét một hệ thống đề xuất phim, trong đó dữ liệu huấn luyện bao gồm một ma trận phản hồi, trong đó:

  • Mỗi hàng đại diện cho một người dùng.
  • Mỗi cột đại diện cho một mục (một bộ phim).

Ý kiến phản hồi về phim thuộc một trong hai danh mục sau:

  • Rõ ràng – người dùng chỉ định mức độ họ thích một bộ phim cụ thể bằng cách đưa ra xếp hạng dạng số.
  • Ngầm ẩn – nếu người dùng xem một bộ phim, hệ thống sẽ suy luận rằng người dùng quan tâm đến một bộ phim.

Để đơn giản hoá, chúng tôi sẽ giả định rằng ma trận phản hồi là tệp nhị phân; tức là giá trị 1 cho biết sự quan tâm đến phim.

Khi người dùng truy cập vào trang chủ, hệ thống sẽ đề xuất phim dựa trên cả hai đặc điểm sau:

  • điểm tương đồng với những bộ phim mà người dùng đã thích trước đây
  • phim mà người dùng tương tự thích

Để minh hoạ, hãy xây dựng một số tính năng cho các bộ phim được mô tả trong bảng sau:

Phim Điểm xếp hạng Nội dung mô tả
The Dark Knight trỗi dậy PG-13 Người dơi cố gắng cứu Thành phố Gotham khỏi sự hủy diệt hạt nhân trong phần tiếp theo của loạt phim The Dark Knight (Bối cảnh bóng tối) trong bối cảnh vũ trụ DC.
Tác phẩm Harry Potter và Hòn đá phù thuỷ PG Một cậu bé không có nguồn gốc phát hiện ra mình là ảo thuật gia và đăng ký vào trường Phù thủy và ảo thuật trường Hogwarts. Tại đây, anh chiến đấu chống lại kẻ ác quỷ ác quỷ Voldemort.
Shrek PG Một chú yêu tinh đáng yêu và người bạn lừa của anh ta bắt đầu nhiệm vụ giải cứu Công chúa Fiona, người được truyền thành lâu đài của mình bởi một con rồng.
Bộ ba Belleville PG-13 Khi nhà vô địch đạp xe chuyên nghiệp bị bắt cóc trong chuyến tham quan Tour de France, bà của anh và chú chó bị thừa cân ở nước ngoài để giải cứu anh, với sự trợ giúp của bộ ba ca sĩ nhạc jazz cao tuổi.
Memento R Một người mất trí tuyệt vọng tìm cách giải quyết vụ giết người của vợ mình bằng cách xăm đầu mối lên cơ thể.

Nhúng 1D

Giả sử chúng ta gán cho mỗi bộ phim một đại lượng vô hướng \([-1, 1]\) mô tả rằng bộ phim đó dành cho trẻ em (giá trị âm) hay người lớn (giá trị dương). Giả sử chúng ta cũng gán một vô hướng cho từng người dùng trong \([-1, 1]\) mô tả mối quan tâm của người dùng đối với phim của trẻ em (gần hơn -1) hoặc phim người lớn (gần hơn +1). Sản phẩm nhúng và nhúng phim phải cao hơn (gần bằng 1) đối với những phim mà chúng tôi mong đợi người dùng thích.

Hình ảnh một số phim và người dùng được sắp xếp dọc theo không gian nhúng một chiều. Vị trí của mỗi phim dọc theo trục này mô tả đây là phim dành cho trẻ em (bên trái) hay phim người lớn (bên phải). Vị trí của người dùng mô tả sự quan tâm đến phim trẻ em hoặc người lớn.

Trong sơ đồ dưới đây, mỗi dấu kiểm xác định một bộ phim mà người dùng cụ thể đã xem. Người dùng thứ ba và thứ tư có các tùy chọn được giải thích rõ ràng bởi tính năng này — người dùng thứ ba thích phim cho trẻ em hơn và người dùng thứ tư thích phim dành cho người lớn. Tuy nhiên, người dùng thứ nhất và thứ hai 39; các tính năng này sẽ không giải thích rõ ràng về tính năng này.

Hình ảnh ma trận phản hồi, trong đó một hàng tương ứng với người dùng và một cột tương ứng với một bộ phim. Mỗi người dùng và mỗi phim được ánh xạ tới một lượt nhúng một chiều (như mô tả trong hình trước), sao cho sản phẩm của hai lượt nhúng ước tính giá trị chân lý cơ bản trong ma trận phản hồi.

Nhúng 2D

Một tính năng là không đủ để giải thích lựa chọn ưu tiên của tất cả người dùng. Để khắc phục vấn đề này, hãy thêm một tính năng thứ hai: độ của mỗi bộ phim là một bộ phim bom tấn hoặc một bộ phim nghệ thuật. Với tính năng thứ hai, giờ đây chúng ta có thể biểu thị từng bộ phim bằng cách nhúng hai chiều sau:

Hình ảnh về một số bộ phim và người dùng được sắp xếp trên không gian nhúng hai chiều. Vị trí của mỗi phim dọc theo trục hoành mô tả xem đây là phim dành cho trẻ em (bên trái) hay phim người lớn (bên phải); vị trí dọc theo trục dọc mô tả xem đây là phim bom tấn (trên cùng) hay phim nghệ thuật (dưới cùng). Vị trí của người dùng phản ánh mối quan tâm của họ trong từng danh mục.

Một lần nữa, chúng tôi đặt người dùng của mình vào cùng một không gian nhúng để giải thích chính xác nhất ma trận phản hồi: cho mỗi cặp (người dùng, mục), chúng tôi muốn sản phẩm dấu chấm của tính năng nhúng người dùng và nhúng mục đó là gần bằng 1 khi người dùng xem phim và nếu không, sẽ là 0.

Hình ảnh về cùng một ma trận phản hồi. Lần này, mỗi người dùng và mỗi phim được ánh xạ tới một lượt nhúng hai chiều (như mô tả trong hình trước), sao cho sản phẩm chấm của hai lượt nhúng đó ước tính giá trị chân lý cơ bản trong ma trận phản hồi.

Trong ví dụ này, chúng tôi đã tự thiết kế cách nhúng. Trong thực tế, tính năng nhúng có thể được tìm hiểu tự động, đây là sức mạnh của các mô hình lọc cộng tác. Trong hai phần tiếp theo, chúng ta sẽ thảo luận về các mô hình khác nhau để tìm hiểu những cách nhúng này và cách huấn luyện chúng.

Bản chất cộng tác của phương pháp này được thể hiện rõ ràng trong mô hình khi tìm hiểu về tính năng nhúng. Giả sử các vectơ nhúng cho phim là cố định. Sau đó, mô hình có thể tìm hiểu vectơ nhúng để người dùng giải thích chính xác nhất lựa chọn ưu tiên của họ. Do đó, các video nhúng của người dùng có các lựa chọn ưu tiên tương tự nhau sẽ gần nhau. Tương tự, nếu việc nhúng cho người dùng cố định, chúng ta có thể tìm hiểu cách nhúng phim để giải thích chính xác nhất về ma trận phản hồi. Do đó, các video nhúng được người dùng tương tự nhúng sẽ ở gần không gian nhúng.

Kiểm tra kiến thức

Mô hình này đề xuất một ứng dụng mua sắm cho người dùng vì gần đây, họ đã cài đặt một ứng dụng tương tự. Đây là ví dụ về loại bộ lọc nào?
Lọc dựa trên nội dung
Tốt lắm! Tính năng lọc dựa trên nội dung không xem xét những người dùng khác.
Lọc cộng tác
Lọc cộng tác sẽ cân nhắc những người dùng khác. Trong trường hợp nhất định, chúng tôi chỉ quan tâm đến một người dùng.