Kullanıcı-ürün pozitif (tıklama verileri) mevcut. Negatif (tıklama gerektirmeyen veriler) nasıl oluşturulur?


10

Örneğin, "tıklama" olarak etiketli kullanıcı ürün verilerine sahip olmamız tavsiye edicidir. Modeli öğrenmek için tıklama ve tıklama yok verilerine ihtiyacım var.

Oluşturmanın en basit yaklaşımı, tıklama verilerinde bulunmayan kullanıcı-ürün çiftlerini almaktır. Ancak, bu yanıltıcı olabilir. Misal:

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

User1'i product1 dışındaki tüm ürünlerle birlikte alabilir ve "no_click" olarak etiketleyebilirim. Ancak bu doğru olmayabilir. Belki kullanıcı1, ürün2 gösterilirse ürün2'yi tıklardı. Ancak, diğer ürün gruplarına gösterilmesi nedeniyle - tıklayıp / tıklamamaya karar verme şansı yoktu2.

Peki, tekli veri problemini nasıl çözebiliriz?


1
Sanırım Kendi Sorunu Kendin Cevapladın. Bir gösterim veya şov kavramı kaydetiyor olmalısınız. Bir ürün gösterdiyseniz ve bunların tıklanmadıysa, aradığınız şey budur.

Ama aslında bu kaydedilen verilerde mevcut değildir. Bahsettiğim bu. Veriler yalnızca kullanıcı-ürün çiftinin tıklama etiketini içerir. Gösterilenler ve tıklananlar kaydedilmez.
p.paliwal

Ayrıca, diyelim ki - kullanici1 prod1, prod2, prod3 (ve prod1'i tıklattı) gösterilmiş olsa bile - O zaman prod2 ve prod3 içeren kullanıcı1'in tıklanmayan etiketi olacaktır. Peki ya kalan ürünler (prod4, prod5, ...). Gösterilmedikleri için kullanıcının tıklama / tıklama işlemine karar verme fırsatı yoktu. Bu, kullanıcının gösterilmeyen ürünlerle ilgilenip ilgilenmeyeceğini söylemez - bu nedenle diğer tüm kombinasyonları tıklamasız olarak etiketlemek gerçekte doğru olmayabilir. Ben de bu konuda açıkladım.
p.paliwal

Yanıtlar:


6

Yani, iki sorun var.

  1. Gösterimleri kaydetme (gösteriler)
  2. Gösterimlerle nasıl başa çıkılır?

(1) için bu bilgileri kaydediyor olmalısınız . Şu anda kaydedilmiyorsa, bu bilgileri kaydetmeye başlamalısınız. Bu bilgilere sahip olmadığınız göz önüne alındığında, önerilerde bulunmak istersiniz. Neyse ki, sadece tıklama verileriyle bir yardımcı program matrisi oluşturabilirsiniz, bkz. 9.1.1.

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

Ardından, makalede açıklandığı gibi kullanıcı veya öğe tabanlı ortak çalışma filtrelemesini kullanabilirsiniz. Bu, temel olarak, fayda matrisini doldurma ve temizlenmemiş öğeler için "puanlar" bulmaya çalışmadır. Tavsiyeniz, en yüksek puanı alan temizlenmemiş bir öğe olacaktır.

(2) için, hala temizlenmemiş öğeler hakkında önerilerde bulunacaksınız. Yani, bu tek başına bir mesele değildir. Bununla birlikte, gösterimlerinizi optimize etmek istersiniz. Ayrıca bir kullanıcının olası tüm seçenekleri görebileceği konusunda tam bilgiye sahip olamazsınız. Gösterimleri kaydetmeniz ve birkaç şeyi anlamanız gerekir.

  • bir öğenin oranını göster
  • bir öğenin tıklama oranı
  • yeni öğeler nasıl dahil edilir
  • hangi öğelerin gösterileceğini optimize etme

Bu çok büyük bir konudur ve temelde bu çevrimiçi reklamcılığın sorun alanıdır. Bununla birlikte, bir öneri motoru, uzun kuyrukta, reklam optimizasyonundan biraz farklı olan ilgi çekici öğeleri bulmaya çalışır. Bu, önerinizi değerlendirmek için bir geri bildirim döngüsüdür. A / B testleri yaygındır. Mevcut sisteminiz ile yeni sisteminiz arasındaki tıklama oranlarını ve öneri hatalarını test etmek istersiniz.

Ayrıca buraya bakınız.

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

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.