Untuk mengatasi beberapa batasan pemfilteran berbasis konten, pemfilteran kolaboratif menggunakan kemiripan antara pengguna dan item secara bersamaan untuk memberikan rekomendasi. Hal ini memungkinkan rekomendasi yang tidak terduga; yaitu, model pemfilteran kolaboratif dapat merekomendasikan item kepada pengguna A berdasarkan minat pengguna B yang serupa. Selain itu, penyematan dapat dipelajari secara otomatis, tanpa mengandalkan fitur teknis.
Contoh Rekomendasi Film
Pertimbangkan sistem rekomendasi film yang menggunakan data pelatihan yang terdiri dari matriks masukan tempat:
- Setiap baris mewakili pengguna.
- Setiap kolom mewakili item (film).
Masukan tentang film termasuk dalam salah satu dari dua kategori:
- Eksplisit—pengguna menentukan seberapa mereka menyukai film tertentu dengan memberikan rating numerik.
- Implisit—jika pengguna menonton film, sistem akan menyimpulkan bahwa pengguna tertarik.
Untuk menyederhanakannya, kita akan mengasumsikan bahwa matriks masukan adalah biner; yaitu, nilai 1 menunjukkan minat pada film.
Saat pengguna mengunjungi halaman beranda, sistem harus merekomendasikan film berdasarkan keduanya:
- kemiripan dengan film yang pernah disukai pengguna
- film yang disukai pengguna serupa
Sebagai ilustrasi, mari kita rekayasa beberapa fitur untuk film yang dijelaskan dalam tabel berikut:
Film | Rating | Deskripsi |
---|---|---|
Dark Knight Rises | BO-13 | Batman berupaya menyelamatkan Gotham City dari nuklir nuklir dalam sekuel dari The Dark Knight, yang berlatar di dunia Komik DC. |
Harry Potter and the Sorcerer's Stone | PG | Seorang anak laki-laki yatim piatu mendapati bahwa dia adalah seorang penyihir dan mendaftar di Sekolah Penyihir Hogwarts, tempat dia memulai pertempuran pertamanya melawan Lord Voldemort yang jahat. |
Shrek | PG | Ogre yang menggemaskan dan pasangan keledainya memulai misi untuk menyelamatkan Putri Fiona yang dikurung di kastilnya oleh naga. |
The Triplet of Belleville | BO-13 | Saat Juara pesepeda profesional diculik selama Tour de France, nenek dan anjing gemuknya melakukan perjalanan ke luar negeri untuk menyelamatkannya, dengan bantuan dari tiga penyanyi jazz tua. |
Memento | R | Seorang penderita amnesia dengan gigih berusaha memecahkan pembunuhan istrinya dengan menato petunjuk ke tubuhnya. |
Penyematan 1D
Misalnya kita menetapkan skalar untuk setiap film \([-1, 1]\) yang menjelaskan apakah film ditujukan untuk anak-anak (nilai negatif) atau dewasa (nilai positif). Misalnya kita juga menetapkan skalar ke setiap pengguna dalam \([-1, 1]\) yang mendeskripsikan minat pengguna terhadap film anak-anak (lebih mendekati -1) atau film dewasa (mendekati +1). Produk dari penyematan film dan penyematan pengguna harus lebih tinggi (mendekati 1) untuk film yang diharapkan pengguna.
Pada diagram di bawah, setiap tanda centang mengidentifikasi film yang ditonton pengguna tertentu. 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, preferensi pengguna pertama dan kedua tidak dijelaskan dengan baik oleh fitur tunggal ini.
Embedding 2D
Satu fitur tidak cukup untuk menjelaskan preferensi semua pengguna. Untuk mengatasi masalah ini, mari kita tambahkan fitur kedua: sejauh mana setiap film merupakan film laris atau film arthouse. Dengan fitur kedua, kini kita dapat mewakili setiap film dengan penyematan dua dimensi berikut:
Sekali lagi, kita menempatkan pengguna di ruang penyematan yang sama untuk menjelaskan matriks masukan dengan baik: untuk setiap pasangan (pengguna, item), kita ingin produk dot dari penyematan pengguna dan penyematan item mendekati 1 saat pengguna menonton film, dan ke 0 jika sebaliknya.
Dalam contoh ini, kami merekayasa penyematan. Dalam praktiknya, penyematan dapat dipelajari secara otomatis, yang merupakan kekuatan model pemfilteran kolaboratif. Dalam dua bagian berikutnya, kita akan membahas berbagai model untuk mempelajari penyematan ini, dan cara melatihnya.
Sifat kolaboratif pendekatan ini terlihat jelas saat model mempelajari penyematan. Misalnya vektor penyematan untuk film bersifat tetap. Kemudian, model tersebut dapat mempelajari vektor penyematan untuk pengguna agar dapat menjelaskan preferensi mereka dengan baik. Akibatnya, penyematan pengguna dengan preferensi serupa akan saling berdekatan. Demikian pula, jika penyematan untuk pengguna diperbaiki, kita dapat mempelajari penyematan film untuk menjelaskan matriks masukan dengan cara terbaik. Akibatnya, sematan film yang disukai oleh pengguna serupa akan ditutup di ruang penyematan.