Untuk mengatasi beberapa keterbatasan pemfilteran berbasis konten, penyaringan kolaboratif menggunakan kesamaan antara pengguna dan item secara bersamaan untuk memberikan rekomendasi. Hal ini memungkinkan untuk mendapatkan rekomendasi yang tidak terduga; yaitu, penyaringan kolaboratif dapat merekomendasikan item kepada pengguna A berdasarkan minat pengguna serupa B. Selain itu, embedding bisa dipelajari secara otomatis, tanpa mengandalkan fitur rekayasa tangan.
Contoh rekomendasi film
Pertimbangkan sistem rekomendasi film di mana data pelatihan terdiri dari matriks umpan balik di mana:
- Setiap baris mewakili seorang pengguna.
- Setiap kolom mewakili sebuah item (film).
Masukan tentang film dibagi ke dalam salah satu dari dua kategori:
- Eksplisit— pengguna menentukan seberapa besar mereka menyukai film tertentu dengan memberikan rating numerik.
- Implisit— jika pengguna menonton film, sistem akan menyimpulkan bahwa pengguna tertarik.
Untuk menyederhanakan, kita akan mengasumsikan bahwa matriks umpan balik adalah biner; yaitu, sebuah nilai angka 1 menunjukkan minat pada film.
Saat pengguna mengunjungi beranda, sistem akan menyarankan film berdasarkan:
- kemiripan dengan film yang pernah disukai pengguna sebelumnya
- film yang disukai pengguna serupa
Demi ilustrasi, mari kita rancang beberapa fitur untuk film dijelaskan dalam tabel berikut:
Film | Rating | Deskripsi |
---|---|---|
The Dark Knight Rises | PG-13 | Batman berusaha menyelamatkan Kota Gotham dari pemusnahan nuklir dalam sekuel ini untuk The Dark Knight, yang ditetapkan di DC Dunia komik. |
Harry Potter dan Batu Bertuah | PG | Seorang anak laki-laki yatim mengetahui bahwa dia adalah seorang penyihir dan telah mendaftar Sekolah Hogwarts Witchcraft and Wizardry, tempat dia melakukan pertempuran pertamanya melawan Lord Voldemort yang jahat. |
Shrek | PG | Raksasa yang menyenangkan dan sahabat keledainya memulai misi untuk menyelamatkan Putri Fiona, di kastilnya oleh seekor naga. |
Triplets of Belleville | PG-13 | Saat Champion pengendara sepeda profesional diculik selama Tour de France, neneknya dan anjingnya yang kelebihan berat badan melakukan perjalanan ke luar negeri untuk menyelamatkannya, dengan bantuan trio penyanyi jazz lansia. |
Memento | R | Seorang amnesia berusaha mati-matian untuk menyelesaikan pembunuhan istrinya dengan membuat tato petunjuk ke tubuhnya. |
Penyematan 1D
Misalkan kita menetapkan skalar untuk setiap film \([-1, 1]\) yang menjelaskan apakah film tersebut ditujukan untuk anak-anak (nilai negatif) atau orang dewasa (nilai positif). Misalkan kita juga menetapkan skalar untuk setiap pengguna di \([-1, 1]\) yang menjelaskan minat pengguna pada film anak-anak (mendekati -1) atau dewasa film (mendekati +1). Produk dari embedding film dan pengguna penyematan harus lebih tinggi (mendekati 1) untuk film yang diharapkan oleh pengguna untuk menyukainya.
Pada diagram di bawah ini, setiap tanda centang mengidentifikasi film yang ditonton pengguna. Pengguna ketiga dan keempat memiliki preferensi yang dijelaskan dengan baik oleh fitur ini—pengguna ketiga lebih memilih film untuk anak-anak dan pengguna keempat lebih memilih film untuk orang dewasa. Namun, yang pertama dan kedua pengguna preferensi tidak dijelaskan dengan baik oleh fitur tunggal ini.
Penyematan 2D
Satu fitur tidak cukup untuk menjelaskan preferensi semua pengguna. Untuk mengatasi masalah ini, mari tambahkan fitur kedua: sejauh mana film blockbuster atau arthouse. Dengan fitur kedua, kita sekarang bisa merepresentasikan setiap film dengan embedding dua dimensi berikut:
Kita sekali lagi menempatkan pengguna dalam ruang penyematan yang sama untuk matriks umpan balik: untuk setiap pasangan (pengguna, item), kita ingin dari penyematan pengguna dan penyematan item agar dekat ke 1 ketika pengguna menonton film, dan ke 0 jika sebaliknya.
Dalam contoh ini, kita merekayasa embeddings secara manual. Dalam praktiknya, embedding dapat dipelajari secara otomatis, yang merupakan kecanggihan pemfilteran kolaboratif jaringan. Dalam dua bagian berikutnya, kita akan membahas model yang berbeda untuk mempelajari embedding ini, dan cara melatihnya.
Sifat kolaboratif dari pendekatan ini terlihat jelas ketika model mempelajari embedding yang berbeda. Misalkan vektor embedding untuk film bersifat tetap. Lalu: model ini dapat mempelajari vektor embedding bagi pengguna untuk menjelaskannya dengan sebaik-baiknya preferensi mereka. Akibatnya, embedding pengguna dengan preferensi serupa akan berdekatan. Demikian pula, jika {i>embedding<i} untuk pengguna bersifat tetap, kemudian kita dapat mempelajari embeddings film untuk menjelaskan matriks umpan balik dengan baik. Akibatnya, embedding film yang disukai oleh pengguna serupa akan mirip ruang embedding.