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, 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.

Hình ảnh hiển thị 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ả mối quan tâm đến phim dành cho trẻ em hoặc người lớn.

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.

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 liên kết với một mục nhúng một chiều (như mô tả trong hình trước), sao cho tích của hai mục nhúng gần đúng với giá trị thực tế cơ bản trong ma trận phản hồi.

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:

Hình ảnh hiển thị một số 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 từng phim theo trục hoành 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 nó dọc theo trục tung mô tả liệu đâ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 mỗi danh mục.

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.

Hình ảnh của 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 mục nhúng hai chiều (như mô tả trong hình trước), sao cho tích dấu chấm của hai mục nhúng gần đúng với giá trị thực tế cơ bản trong ma trận phản hồi.

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.

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 người dùng đã cài đặt một ứng dụng tương tự. Đây là ví dụ về loại 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
Tính năng lọc cộng tác xem xét đến những người dùng khác. Trong trong trường hợp cụ thể, chúng tôi chỉ quan tâm đến một người dùng.