Để 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, lọc cộng tác sử dụng các điểm 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 để đưa ra đề xuất tình cờ; tức là lọc cộng tác mô hình có thể đề xuất một mặt hàng cho người dùng A dựa trên sở thích của người dùng tương tự B. Hơn nữa, bạn có thể tìm hiểu một cách tự động mà không cần dựa vào kỹ thuật thủ công các tính năng.
Ví dụ về đề xuất phim
Hãy cân nhắc hệ thống đề xuất phim trong đó dữ liệu huấn luyện bao gồm của 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 (phim).
Ý kiến phản hồi về phim thuộc một trong hai loại sau:
- Phản cảm – 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ụ ý – nếu người dùng xem phim, hệ thống sẽ suy luận rằng quan tâm.
Để đơn giản hoá, chúng ta sẽ giả định rằng ma trận phản hồi là nhị phân; tức là một giá trị 1 cho biết họ quan tâm đến phim.
Khi người dùng truy cập vào trang chủ, hệ thống sẽ đề xuất các bộ phim dựa trên cả:
- điểm tương đồng với 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 thiết kế thủ công một số tính năng cho phim được mô tả trong bảng sau:
Phim | Điểm xếp hạng | Mô tả |
---|---|---|
Hiệp sĩ bóng đêm trỗi dậy | PG-13 | Batman nỗ lực giải cứu Thành phố Gotham khỏi sự hủy diệt hạt nhân trong phần tiếp theo này của The Dark Knight (Hiệp sĩ bóng đêm) thiết lập trong DC Vũ trụ truyện tranh. |
Harry Potter và hòn đá phù thuỷ | PG | Một cậu bé mồ côi phát hiện mình là phù thuỷ và ghi danh vào học Trường Hogwarts Phù thuỷ và pháp sư, nơi anh tiến hành trận chiến đầu tiên với Lãnh chúa ác quỷ Voldemort. |
Shrek | PG | Một chú yêu tinh đáng yêu và bạn lừa của mình bắt đầu thực hiện một nhiệm vụ để giải cứu Công chúa Fiona, bị một con rồng giam giữ trong lâu đài của cô. |
Bộ ba Belleville | PG-13 | Khi Nhà vô địch đạp xe chuyên nghiệp bị bắt cóc trong Giải đua xe đạp Tour de France, bà của cậu và chú chó thừa cân ra nước ngoài để giải cứu cậu bé với sự trợ giúp của bộ ba ca sĩ nhạc jazz lớn tuổi. |
Memento | Điểm | Một người mất trí nhớ tuyệt vọng tìm cách giải quyết vụ giết vợ của mình bằng cách xăm những manh mối lên cơ thể mình. |
Nhúng 1D
Giả sử chúng ta gán cho mỗi phim một đại lượng vô hướng trong \([-1, 1]\) mà mô tả liệu 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 đại lượng vô hướng cho mỗi người dùng trong \([-1, 1]\) mà mô tả mức độ quan tâm của người dùng đối với phim dành cho trẻ em (gần với -1) hoặc người lớn phim (gần hơn với +1). Sản phẩm của việc nhúng phim và người dùng mức nhúng sẽ cao hơn (gần hơn 1) đối với các phim mà chúng tôi kỳ vọng người dùng thích.
Trong biểu đồ bên dưới, mỗi dấu kiểm xác định một bộ phim mà mà người dùng đã xem. Người dùng thứ ba và thứ tư có các lựa chọn ưu tiên tính năng này được giải thích rõ ràng — người dùng thứ ba thích phim dành cho trẻ em và người dùng thứ tư thích xem phim dành cho người lớn. Tuy nhiên, thứ nhất và thứ hai của người dùng không được giải thích rõ ràng bằng tính năng đơn lẻ này.
Nhúng 2D
Một tính năng là chưa đủ để giải thích lựa chọn ưu tiên của tất cả người dùng. Để vượt qua vấn đề này, hãy thêm một tính năng thứ hai: mức độ của mỗi bộ phim một bộ phim bom tấn hay một bộ phim nghệ thuật. Với tính năng thứ hai, giờ đây chúng tôi có thể mỗi bộ phim với khả năng nhúng hai chiều sau:
Chúng tôi lại đưa người dùng vào cùng một không gian nhúng để giải thích rõ nhất ma trận phản hồi: đối với mỗi cặp (người dùng, mặt hàng), chúng tôi muốn tích vô hướng của mục nhúng người dùng và mục nhúng cần đóng là 1 khi người dùng xem phim và là 0 khi người dùng không xem phim.
Trong ví dụ này, chúng tôi đã thiết kế các tệp nhúng theo cách thủ công. Trong thực tế, các nhúng có thể được học tự động, đây chính là sức mạnh của tính năng lọc cộng tác người mẫu. 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 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 rất rõ ràng khi mô hình này học được các video 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 đó, việc nhúng người dùng có lựa chọn ưu tiên tương tự sẽ gần nhau. Tương tự, nếu các mục nhúng cho người dùng là cố định, thì chúng ta có thể tìm hiểu cách nhúng phim để giải thích chính xác nhất ma trận phản hồi. Do đó, các mục nhúng của những bộ phim được những người dùng tương tự thích sẽ có hiệu lực gần không gian nhúng.