Ortak çalışmaya göre filtreleme

İçeriğe dayalı filtrelemenin bazı sınırlamalarını ele almak için Ortak çalışmaya dayalı filtreleme, kullanıcılarla aralarındaki benzerlikleri öğeleri aynı anda görebilirsiniz. Bu da tesadüfen tavsiyeler için; yani ortak çalışmaya dayalı filtreleme model, bir öğeyi kullanıcının ilgi alanlarına göre A kullanıcısına önerebilir kullanıcı olabilir. Ayrıca, yerleştirilmiş öğeler ve özellikler için elle mühendisliğe gerek kalmadan otomatik olarak.

Film önerisi örneği

Eğitim verilerinin oluştuğu bir film öneri sistemi düşünün: geri bildirim matrisini etkileyen bir ölçümdür:

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

Filmler hakkında geri bildirim iki kategoriden birine girer:

  • Uygunsuz: Kullanıcılar belirli bir filmi ne kadar beğendiklerini belirtir. bunu yapabilirsiniz.
  • Dolaylı: Kullanıcı bir filmi izlerse sistem önemli bir adımdır.

Basitleştirmek gerekirse, geri bildirim matrisinin ikili olduğunu varsayacağız. diğer bir deyişle 1 değeri ise filme ilgi duyduğunuzu gösterir.

Kullanıcı ana sayfayı ziyaret ettiğinde sistem, filmleri önermelidir her ikisine de dayalı:

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

Örnek olarak, filmlere özgü bazı özellikleri ele alalım. aşağıdaki tabloda açıklanmıştır:

Film Derecelendirme Açıklama
Kara Şövalye Yükselişi PG-13 Batman, Gotham City'yi nükleer imhadan kurtarmaya çalışıyor bu devam oyununda Kara Şövalye DC'de ayarlı Çizgi roman evreni.
Harry Potter ve Büyülü Taşı PG Büyücü olduğunu öğrenen öksüz bir çocuk, Hogwarts Okulu İlk savaşını sihirbazlık ve büyücülük kötü kalpli Lord Voldemort.
Shrek PG Sevimli bir canavar ve eşek arkadaşı göreve çıktı kurtarmaya çalışan Prenses Fiona'yı ejderha tarafından şatosına hapsediliyor.
Belleville'in Üçlüleri PG-13 Profesyonel bisikletçi Şampiyonu Tour de France, büyükannesi ve kilolu köpeği, onu kurtarmak için üçlü yaşlı caz şarkıcılarının yardımı ile hazırlandı.
Memento K Hafızasını yitirmiş bir kişi, karısının cinayetini çözmeye çalışıyor. Vücuduna ipuçları dövme yoluyla.

1D yerleştirme

Diyelim ki her filme bir skalar atadığımızda \([-1, 1]\) filmin çocuklar için mi (negatif değerler) yoksa yetişkinlere mi (pozitif değerler) yönelik olduğu. Şu açıklamada her kullanıcıya bir skaler atadığımızı varsayalım: \([-1, 1]\) kullanıcının çocuk filmleriyle (-1'e daha yakın) veya yetişkinlerle ilgilenip ilgilenmediği (+1'e daha yakın). Film yerleştirmenin ve kullanıcının ürünü kullanıcının yerleştirmesini beklediğimiz filmler için yerleştirmenin daha yüksek (1'e yakın) olması gerekir. hoşuma gidiyor.

Tek boyutlu bir yerleştirme alanı boyunca düzenlenmiş çeşitli filmleri ve kullanıcıları gösteren resim. Bu eksen boyunca her filmin konumu, filmin çocuk filmi mi (solda) yoksa yetişkin filmi mi (sağda) olduğunu açıklar. Kullanıcının konumu, çocuklara veya yetişkin filmlerine olan ilgiyi açıklar.

Aşağıdaki diyagramda her bir onay işareti, belirli bir filmin kullanıcı izledi. Üçüncü ve dördüncü kullanıcıların düşünüldüğünde bu özellikle ilgili üçüncü kullanıcı çocuklara yönelik filmleri tercih ediyor. ve dördüncü kullanıcı yetişkinler için filmleri tercih ediyor. Ancak birinci ve ikinci kullanıcıların tek başına bu özellikle iyi bir şekilde açıklanmamaktadır.

Satırın bir kullanıcıya, sütunun ise bir filme karşılık geldiği geri bildirim matrisinin resmi. Her bir kullanıcı ve her film, tek boyutlu bir yerleştirmeyle eşlenir (önceki şekilde açıklandığı gibi), bu şekilde iki yerleştirilmiş öğenin çarpımı, geri bildirim matrisindeki kesin referans değerine yaklaşır.

2D yerleştirme

Bir özellik, tüm kullanıcıların tercihlerini açıklamak için yeterli değildi. Üstesinden gelmek için şimdi ikinci bir özellik daha ekleyelim: her filmin ne kadar önemli olduğuna bir gişe rekoru kıran ya da sanat filmleri filmi olabilir. İkinci bir özellik sayesinde, artık aşağıdaki iki boyutlu yerleştirme içeren her bir film:

İki boyutlu bir yerleştirme alanında düzenlenmiş çeşitli filmleri ve kullanıcıları gösteren resim. Her filmin yatay eksendeki konumu, filmin çocuk filmi mi (solda) yoksa yetişkin filmi mi (sağda) olduğunu açıklar. dikey eksendeki konumu, bunun bir gişe rekoru kıran film mi (üstte) yoksa bir sanat filmi mi (altta) olduğunu açıklar. Kullanıcıların konumu, her bir kategorideki ilgi alanlarını yansıtır.

En iyi şekilde açıklamak için kullanıcılarımızı tekrar aynı yerleştirme alanına yerleştiriyoruz. geri bildirim matrisi: her (kullanıcı, öğe) çifti için, kullanıcının yerleştirdiği noktanın ve yerleştirilen öğenin nokta çarpımı 1, kullanıcı filmi izlediğinde 1, aksi takdirde 0 değerini alır.

Aynı geri bildirim matrisinin resmi. Bu kez, her bir kullanıcı ve her film iki boyutlu bir yerleştirmeyle eşlenir (önceki şekilde açıklandığı gibi). Böylece, iki yerleştirmenin nokta çarpımı, geri bildirim matrisindeki kesin referans değerine yaklaşır.

Bu örnekte yerleştirmeleri elle tasarladık. Pratikte, yerleştirilmiş öğeler otomatik olarak öğrenilebilir. Bu, ortak çalışmaya dayalı filtrelemenin gücüdür. modeller. Sonraki iki bölümde, öğrendiğiniz farklı modelleri, nasıl eğitileceğini öğreneceksiniz.

Bu yaklaşımın iş birliğine dayalı yapısı, modelin projeyi yerleştirme. Filmlere ilişkin yerleştirme vektörlerinin sabit olduğunu varsayalım. Ardından, model, kullanıcının en iyi açıklamayı yapması için bir yerleştirme vektörü tercih edebilirsiniz. Sonuç olarak, benzer tercihlere sahip kullanıcıların yerleştirilmiş öğeleri olacaktır. Benzer şekilde, kullanıcılar için yerleştirmeler düzeltilirse geri bildirim matrisini en iyi şekilde açıklamak için film yerleştirmelerini öğrenebiliriz. Sonuç olarak, benzer kullanıcıların beğendiği filmlerin yerleştirilmesine yakın bir konumdaki yerleştirme alanıdır.

Öğrendiklerinizi sınayın

Model, kısa süre önce alışveriş yapan kullanıcılara alışveriş uygulaması öneriyor benzer bir uygulama yükledi. Bu ne tür bir filtreleme örneğidir?
İçeriğe dayalı filtreleme
Tebrikler! İçeriğe dayalı filtreleme, diğer kullanıcıları incelemez.
Ortak çalışmaya göre filtreleme
Ortak çalışmaya dayalı filtreleme, diğer kullanıcıları dikkate alır. Yalnızca tek bir kullanıcıyla ilgileniyoruz.