Ortak Çalışma Filtreleme

İçerik tabanlı filtrelemenin bazı sınırlamalarını ele almak için ortak çalışmaya dayalı filtreleme, önerilerde bulunmak için kullanıcılar ile öğeler arasında benzerlikleri kullanır. Bu, tesadüfi önerilere olanak tanır. Diğer bir deyişle, ortak çalışmaya dayalı filtreleme modelleri, B kullanıcısına benzer bir kullanıcıya ait ilgi alanlarına göre bir öğe önerebilir. Ayrıca yerleştirmeler, özelliklerin mühendisliğine gerek kalmadan otomatik olarak öğrenilebilir.

Film Önerisi Örneği

Eğitim verilerinin aşağıdakilerin bulunduğu bir geri bildirim matrisinden oluştuğu bir film öneri sistemi:

  • Her satır bir kullanıcıyı temsil eder.
  • Her sütun bir öğeyi (film) temsil eder.

Filmlerle ilgili geri bildirim iki kategoriye ayrılır:

  • Uygunsuz: Kullanıcılar sayısal bir puan vererek belirli bir filmi ne kadar beğendiklerini belirtir.
  • Dolaylı: Kullanıcı bir filmi izlerse sistem kullanıcının ilgi duyduğunu varsayar.

Basitçe açıklamak için, geri bildirim matrisinin ikili olduğu varsayılır. Yani 1 değeri filme olan ilgiyi gösterir.

Kullanıcılar ana sayfayı ziyaret ettiklerinde sistem, aşağıdaki unsurlardan yola çıkarak film önermelidir:

  • kullanıcının geçmişte beğendiği filmlerle benzerlik
  • benzer kullanıcıların beğendiği filmler

Resim açısından, aşağıdaki tabloda açıklanan filmlerin bazı özelliklerini el ile geliştirelim:

Film Puan Açıklama
Dark Kara Şövalyeler PG-13 Batman, DC Comics evreninde geçen The Dark Knight serisinin bu devamında Gotham Şehri'ni nükleer diyetlemeden kurtarmaya çalışıyor.
Harry Potter ve Büyülü Taş PG Sahipsiz bir erkek çocuk, büyücü olduğunu keşfeder ve kötü niyetli Lord Voldemort'a karşı ilk savaşını düzenlediği Hogwarts Cadılık ve Büyücülük Okulu'na kaydolur.
Shrek PG Sevimli bir canavar ve eşeği eşi, kalesinde bir ejderha tarafından hapsedilen Prenses Fiona'yı kurtarma misyonuyla yola çıktı.
Belleville Üçlüleri PG-13 Profesyonel bisikletçi Şampiyonu Tour de France sırasında kaçırıldığında, büyükannesi ve aşırı kilolu köpek yolculuğu, yaşlı caz şarkıcısının üçünün yardımıyla ona yardım etmek için denizaşırı bir köpek yolculuğuna çıkar.
Mentorluk K Hafızasını kaybetmiş bir şekilde vücuduna ipuçları döverek eşinin cinayetini çözmek için canla başla çalışan.

1B Yerleştirme

Her filme, filmlerin çocuklara mı (negatif değerler) yoksa yetişkinlere mi (pozitif değerler) yönelik olduğunu açıklayan \([-1, 1]\) skalar bir değer atadığımızı varsayalım. Ayrıca, her kullanıcıya \([-1, 1]\) içinde kullanıcının çocuk filmlerine (-1'e yakın) veya yetişkin filmlerine (+1'e daha yakın) gösterilen ilgiyi açıklayan bir skabuk atanmış olduğunu varsayalım. Kullanıcının yerleştirmesini beklediğimiz filmler için film yerleştirme ve kullanıcı yerleştirme ürünü daha yüksek (1'e yakın) olmalıdır.

Tek boyutlu yerleştirme alanında düzenlenmiş birkaç film ve kullanıcıyı gösteren resim. Her bir filmin bu eksendeki konumu, bu filmin bir çocuk filmi mi (sol) yoksa yetişkin film (sağ) mı olduğunu açıklar. Kullanıcının bulunduğu konum, çocuklara veya yetişkinlere uygun filmlere olan ilgiyi açıklar.

Aşağıdaki şemada, her onay işareti belirli bir kullanıcının izlediği bir filmi tanımlar. Üçüncü ve dördüncü kullanıcılar bu özellik tarafından net bir şekilde açıklanan tercihlere sahiptir: Üçüncü kullanıcı çocuklar için filmleri, dördüncü kullanıcı ise yetişkinler için filmleri tercih eder. Bununla birlikte, ilk ve ikinci kullanıcılar bu tercihleri tek tek iyi açıklamıyor.

Bir satırın kullanıcıya, sütunun bir filme karşılık geldiği bir geri bildirim matrisinin resmi. Her bir kullanıcı ve film, iki yerleştirmenin ürünü geri bildirim matrisindeki kesin referans değerini yaklaşık olarak gösterecek şekilde tek boyutlu bir yerleşimle (önceki şekilde açıklandığı gibi) eşlenir.

2D Yerleştirme

Bir özellik, tüm kullanıcıların tercihlerini açıklamak için yeterli değildi. Bu sorunu aşmak için ikinci bir özellik ekleyelim: her filmin gişe rekorları kıran bir film veya bir sinema filmi olması. İkinci bir özellik sayesinde artık her bir filmi aşağıdaki iki boyutlu yerleştirmeyle temsil edebiliriz:

İki boyutlu yerleştirme alanında film ve kullanıcıların gösterildiği resim. Her bir filmin yatay eksendeki konumu, bu filmin bir çocuk filmi mi (sol) yoksa yetişkinlere uygun bir film mi (sağ) olduğunu açıklar. Dikey eksendeki konumu, bu filmin gişe rekorları kıran bir film mi (üst) yoksa bir sanat filmi mi (alt) olduğunu belirtir. Kullanıcıların konumu, her bir kategorideki ilgi alanlarını yansıtır.

Geri bildirim matrisini en iyi şekilde açıklamak için kullanıcılarımızı tekrar aynı yerleştirme alanına yerleştiriyoruz. Her bir (kullanıcı, öğe) eşlemede, kullanıcının yerleştirme sırasındaki noktanın yerleşmesi için, kullanıcının yerleştirme sırasında öğenin yerleştirileceği öğenin 1'e yakın olmasını, aksi takdirde 0'a yakın olmasını istiyoruz.

Aynı geri bildirim matrisinin resmi. Bu sefer, her bir kullanıcı ve her film, iki yerleştirmenin noktasal ürünü, geri bildirim matrisindeki kesin referans değerini yaklaşık olarak gösterecek şekilde iki boyutlu bir yerleştirmeyle (önceki şekilde açıklandığı gibi) eşleştirilir.

Bu örnekte, yerleştirilmiş öğeleri manuel olarak tasarladık. Pratikte yerleştirmeler, otomatik olarak öğrenilebilir. Bu, ortak çalışma filtreleme modellerinin gücüdür. Sonraki iki bölümde bu yerleştirmeleri öğrenmek için farklı modelleri ele alacağız ve bunları nasıl eğiteceğinizi inceleyeceğiz.

Bu yaklaşımın ortak çalışma yapısı, model yerleştirmeleri öğrendiğinde belirgin olur. Filmler için yerleştirme vektörlerinin sabit olduğunu varsayalım. Ardından, bu model kullanıcıların tercihlerini en iyi şekilde açıklayabilmeleri için bir yerleştirme vektörü öğrenebilir. Sonuç olarak, benzer tercihlere sahip kullanıcıların yerleştirmeleri birbirine yaklaşır. Benzer şekilde, kullanıcıların yerleştirmeleri düzeltildiyse geri bildirim matrisini en iyi açıklayan film yerleştirmelerini öğrenebiliriz. Sonuç olarak, benzer kullanıcıların beğendiği film yerleştirmeleri yerleştirme alanında kapanır.

Öğrendiklerinizi Kontrol Etme

Bu model, kısa süre önce benzer bir uygulama yüklemiş olduğu için kullanıcıya bir alışveriş uygulaması önerir. Bu, ne tür bir filtreleme örneğidir?
İçeriğe dayalı filtreleme
Tebrikler! İçerik tabanlı filtreleme, diğer kullanıcılara bakmaz.
Ortak çalışmaya göre filtreleme
Ortak çalışma filtreleme, diğer kullanıcıları dikkate alır. Bu senaryoda yalnızca tek bir kullanıcıyı önemsiyoruz.