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