Pengguna-produk positif (data klik) tersedia. Bagaimana cara menghasilkan negatif (data tanpa klik)?

10

Sangat umum di pemberi rekomendasi bahwa kami memiliki data produk pengguna yang memiliki label sebagai contoh "klik". Untuk mempelajari modelnya, saya perlu data klik dan tanpa klik.

Pendekatan sederhana untuk menghasilkan adalah mengambil pasangan produk-pengguna yang tidak ditemukan dalam data klik. Namun, itu mungkin menyesatkan. Contoh:

user1, product1 (click) user2, product2 (click) user2, product3 (click) user3, product2 (click)

Saya dapat mengambil user1 dengan semua produk kecuali product1 dan memberi labelnya sebagai "no_click" dan seterusnya. Tetapi ini mungkin tidak benar. Mungkin user1 akan mengklik product2 jika ia ditampilkan product2. Tetapi hanya karena dia ditunjukkan set produk lain - dia tidak punya kesempatan untuk memutuskan untuk mengklik / tidak mengklik produk2.

Jadi bagaimana cara mengatasi masalah data unary?

p.paliwal
sumber
1
Saya pikir Anda menjawab pertanyaan Anda sendiri. Anda harus merekam konsep kesan, atau pertunjukan. Jika Anda menunjukkan produk dan tidak ada klik, maka inilah yang Anda cari.
Tetapi sebenarnya ini tidak tersedia dalam data yang direkam. Itulah yang saya sebutkan. Data hanya berisi pasangan produk-pengguna yang memiliki label klik. Apa yang ditunjukkan dan apa yang diklik tidak direkam.
p.paliwal
Juga, bahkan jika katakanlah - user1 ditunjukkan prod1, prod2, prod3 (dan dia mengklik prod1) - Kemudian user1 dengan prod2 dan prod3 tidak akan memiliki label klik. Tetapi bagaimana dengan sisa produk (prod4, prod5, ...). Hanya karena tidak ditampilkan, pengguna tidak memiliki kesempatan untuk memutuskan klik / tidak ada klik. Ini tidak mengatakan apakah pengguna akan tertarik pada produk yang tidak ditampilkan - jadi memberi label semua kombinasi lainnya sebagai tanpa klik mungkin tidak benar. Inilah yang saya jelaskan juga dalam pertanyaan.
p.paliwal

Jawaban:

6

Jadi ada dua masalah.

  1. Merekam tayangan (acara)
  2. Cara menangani non-tayangan

Untuk (1) Anda harus merekam informasi ini. Jika saat ini tidak sedang direkam, Anda harus mulai merekam informasi ini. Mengingat Anda tidak memiliki informasi ini, Anda ingin memberikan rekomendasi. Untungnya, hanya dengan mengklik data Anda masih dapat membuat matriks utilitas, lihat 9.1.1.

http://i.stanford.edu/~ullman/mmds/ch9.pdf

Anda kemudian dapat menggunakan pemfilteran kolaboratif berbasis pengguna atau item seperti yang dijelaskan dalam makalah. Ini pada dasarnya adalah latihan dalam mengisi matriks utilitas dan mencoba menemukan "skor" untuk item yang tidak diklik. Rekomendasi Anda akan menjadi item yang tidak dipilih dengan skor tertinggi.

Untuk (2) Anda masih akan membuat rekomendasi untuk item yang tidak diklik. Jadi, itu saja bukan masalah. Anda akan ingin mengoptimalkan tayangan Anda. Anda juga tidak dapat memiliki pengetahuan penuh di mana pengguna dapat melihat semua opsi yang memungkinkan. Anda perlu merekam tayangan dan memahami sejumlah hal.

  • menunjukkan tingkat suatu barang
  • klik tingkat suatu item
  • cara memasukkan item baru
  • cara mengoptimalkan item mana yang akan ditampilkan

Ini adalah topik besar dan pada dasarnya ini adalah masalah domain periklanan online. Namun, mesin rekomendasi mencoba untuk menemukan item yang menarik di ekor panjang, yang sedikit berbeda dari optimasi iklan. Ini adalah umpan balik untuk mengevaluasi rekomendasi Anda. Tes A / B adalah umum. Anda akan ingin menguji tingkat klik dan kesalahan rekomendasi antara sistem Anda saat ini dan sistem baru.

Lihat juga di sini.

http://cs.brynmawr.edu/Courses/cs380/fall2006/Herlocker2004.pdf

http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf


sumber