Ringkasan pembuatan kandidat

Pembuatan kandidat adalah tahap pertama rekomendasi. Berdasarkan kueri, menghasilkan serangkaian kandidat yang relevan. Tabel berikut menunjukkan dua pendekatan pembuatan kandidat umum:

JenisDefinisiContoh
penyaringan berbasis konten Menggunakan kesamaan antar-item untuk merekomendasikan item yang mirip dengan item yang disukai pengguna. Jika pengguna A menonton dua video kucing lucu, sistem dapat merekomendasikan video hewan lucu kepada pengguna tersebut.
pemfilteran kolaboratif Menggunakan kesamaan antara kueri dan item secara bersamaan untuk memberikan rekomendasi. Jika pengguna A mirip dengan pengguna B, dan pengguna B menyukai video 1, maka sistem dapat merekomendasikan video 1 kepada pengguna A (bahkan jika pengguna A belum melihat video yang mirip dengan video 1).

Menyematkan ruang

Pemfilteran berbasis konten dan kolaboratif memetakan setiap item dan setiap kueri (atau konteks) ke vektor embedding dalam ruang embedding umum \(E = \mathbb R^d\). Biasanya, ruang embedding berdimensi rendah (yaitu, \(d\) jauh lebih kecil dari ukuran korpus), dan menangkap beberapa struktur laten dari item atau kumpulan kueri. Item serupa, seperti YouTube video yang biasanya ditonton oleh pengguna yang sama, berakhir berdekatan di ruang embedding. Gagasan mengenai "kedekatan" ditentukan oleh ukuran kesamaan.

Ukuran kesamaan

Ukuran kesamaan adalah fungsi \(s : E \times E \to \mathbb R\) yang mengambil sepasang embeddings dan mengembalikan skalar yang mengukur kesamaannya. Embeddings dapat digunakan untuk pembuatan kandidat sebagai berikut: penyematan kueri \(q \in E\), sistem akan mencari penyematan item \(x \in E\) yang mendekati \(q\), yaitu, embedding dengan yang sama \(s(q, x)\).

Untuk menentukan tingkat kesamaan, sebagian besar sistem rekomendasi mengandalkan pada satu atau beberapa hal berikut:

  • kosinus
  • produk dot
  • Jarak Euclidean

Kosinus

Ini hanyalah kosinus dari sudut antara keduanya vektor, \(s(q, x) = \cos(q, x)\)

Perkalian titik

Perkalian titik dari dua vektor adalah \(s(q, x) = \langle q, x \rangle = \sum_{i = 1}^d q_i x_i\). Nilai ini juga diberikan oleh \(s(q, x) = \|x\| \|q\| \cos(q, x)\) (kosinus dari sudut yang dikalikan dengan hasil perkalian norma). Jadi, jika embedding tersebut dinormalisasi, kemudian titik-produk dan kosinus bertepatan.

Jarak Euclidean

Ini adalah jarak yang biasa di Euclidean spasi, \(s(q, x) = \|q - x\| = \left[ \sum_{i = 1}^d (q_i - x_i)^2\right]^{\frac{1}{2}}\). Jarak yang lebih kecil berarti kesamaan yang lebih tinggi. Perhatikan bahwa saat embedding, dinormalkan, jarak kuadrat Euclidean bertepatan dengan (dan kosinus) hingga suatu konstanta, karena dalam kasus \(\frac{1}{2}\|q - x\|^2 = 1 - \langle q, x \rangle\).

Gambar yang menunjukkan ruang embedding dua dimensi, yang berisi penyematan kueri dan tiga item kandidat.

Membandingkan ukuran-ukuran kesamaan

Perhatikan contoh pada gambar di sebelah kanan. Vektor hitam menggambarkan embedding kueri. Tiga vektor embedding lainnya (Item A, Item B, Item C) mewakili item kandidat. Bergantung pada ukuran kesamaan yang digunakan, peringkat item bisa berbeda.

Dengan menggunakan gambar, coba tentukan peringkat item menggunakan ketiga ukuran kesamaan: kosinus, perkalian titik, dan jarak Euclidean.

Yang mana ukuran kesamaan?

Dibandingkan dengan kosinus, kesamaan produk titik sensitif terhadap norma embedding. Artinya, semakin besar norma embedding, semakin tinggi kesamaan (untuk item dengan sudut lancip) dan makin besar kemungkinan item tersebut direkomendasikan. Hal ini dapat memengaruhi rekomendasi sebagai berikut:

  • Item yang sangat sering muncul dalam set pelatihan (misalnya, video YouTube populer) cenderung memiliki embeddings dengan norma yang besar. Jika ingin memperoleh informasi popularitas, Anda juga harus lebih suka produk .titik. Namun, jika Anda tidak berhati-hati, item-item tersebut mungkin mendominasi rekomendasi. Dalam praktiknya, Anda dapat menggunakan varian ukuran kesamaan lain yang tidak terlalu menekankan norma item. Misalnya, tentukan \(s(q, x) = \|q\|^\alpha \|x\|^\alpha \cos(q, x)\) untuk beberapa \(\alpha \in (0, 1)\).

  • Item yang sangat jarang muncul mungkin tidak akan sering diperbarui selama pelatihan. Akibatnya, jika mereka diinisialisasi dengan norma yang besar, sistem mungkin akan merekomendasikan item langka daripada item yang lebih relevan. Untuk menghindari hal ini berhati-hatilah terkait inisialisasi penyematan, dan gunakan regularisasi. Kami akan menjelaskan masalah ini dalam latihan pertama.