İç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.
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.
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:
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.
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.