Aby rozwiązać pewne problemy z filtrowaniem opartym na treściach, funkcja ta korzysta z podobieństw między użytkownikami a elementami, aby przedstawiać zalecenia. Dzięki temu mogą być stosowane rekomendacje kolejne. To znaczy, że modele filtrowania współpracującego mogą polecać użytkownikom urządzenia A na podstawie ich zainteresowań. Co więcej, umieszczone w ten sposób treści można poznać automatycznie, bez potrzeby ręcznego wprowadzania zmian w funkcjach.
Przykład rekomendacji filmu
Rozważ system rekomendacji filmów, w którym dane treningowe składają się z tabeli opinii, w której:
- Każdy wiersz reprezentuje użytkownika.
- Każda kolumna reprezentuje jeden element (film).
Opinia o filmach może należeć do jednej z tych dwóch kategorii:
- Wyraźnie – użytkownicy określają, jak bardzo dany film mu się podoba, podając ocenę liczbową.
- Pośredni – jeśli użytkownik ogląda film, oznacza to, że system go interesuje.
Dla uproszczenia zakładamy, że macierz opinii jest binarny. Oznacza to, że wartość 1 oznacza zainteresowanie filmem.
Gdy użytkownik odwiedza stronę główną, system powinien polecać Ci filmy na podstawie:
- podobieństwo do filmów polubionych przez użytkownika w przeszłości
- filmy, które podobały się podobnym użytkownikom
Dla ułatwienia cofnijmy się do ręcznej pracy na filmach wymienionych w poniższej tabeli:
Film | Ocena | Opis |
---|---|---|
Czarny rycerz podnosi się | PG-13 | Batman stara się uratować Gotham City w kontynuacji serii atomowej gry The Dark Knight, która rozgrywa się w uniwersum DC Comics. |
Harry Potter i Kamień Filozoficzny | R | osierocony chłopiec dowiaduje się, że jest czarodziejem, i rejestruje się w szkole Hogwartu w Kształcie Czarownic, gdzie zdobywa swoją pierwszą bitwę ze złem lorda Voldemorta. |
Shrek | R | Uroczy oog i jego połówka wyruszają na misję, aby uratować księżniczkę Fionę, która została uwięziona w jej zamku przez smoka. |
Triplety Belleville | PG-13 | Z pomocą tancerzy starszych piosenkarzy jazzowych porwany w trakcie Tour de France mistrz roweru porwał dziadka z psem za granicą i ratuje go za granicą. |
Memento | C | Amnesiak rozpaczając, chce rozwiązać morderstwo żony, tatuując wskazówki na ciele. |
Umieszczanie 1D
Załóżmy, że przypisujemy każdemu filmowi skalarnemu, \([-1, 1]\) który określa, czy film jest przeznaczony dla dzieci (wartości ujemne), czy dla dorosłych (wartości dodatnie). Załóżmy też, że skala jest przypisana do każdego użytkownika w \([-1, 1]\) . Produkt, w którym umieszczony jest film, oraz element umieszczony na stronie użytkownika powinien być wyższy (bliższy 1) dla filmów, które użytkownik powinien obejrzeć.
Na diagramie poniżej każdy znacznik wyboru wskazuje film, który obejrzał określony użytkownik. Trzeci i czwarty użytkownik mają preferencje, które są dobrze opisane w tej funkcji – trzeci użytkownik woli filmy dla dzieci, a czwarty preferuje filmy dla dorosłych. Pierwszy i drugi użytkownik nie są jednak dobrze wyjaśnione przy pomocy tej funkcji.
Umieszczanie 2D
Jedna funkcja nie wystarczała do wyjaśnienia preferencji wszystkich użytkowników. Aby rozwiązać ten problem, dodajmy drugą funkcję: stopień, w jakim każdy film jest hitem lub filmem własnym. Dzięki drugiej funkcji możemy teraz reprezentować każdy film dzięki następującemu dwuwymiarowemu umieszczeniu:
Ponownie umieszczamy użytkowników w tym samym miejscu, w którym najlepiej wyjaśniają tabelę z opiniami: w przypadku każdej pary (użytkownik, produkt) element z danymi umieszczonymi w informacjach o umieszczonym obiekcie i element umieszczony w bliskiej liczbie elementów, gdy użytkownik obejrzał film, oraz 0 w innych przypadkach.
W tym przykładzie ręcznie opracowaliśmy elementy umieszczone na stronie. W praktyce umieszczanie można poznać automatycznie, co jest podstawą współpracy w modelach filtrowania. W kolejnych 2 sekcjach omówimy różne modele, aby dowiedzieć się, jak umieścić te elementy i jak je wytrenować.
Podejście do współpracy jest oczywiste, gdy model uczy się umieścić. Załóżmy, że wektory osadzone dla filmów są stałe. Model może następnie nauczyć się wektora osadzania, aby użytkownicy mogli jak najlepiej wyjaśnić swoje preferencje. Dlatego umieszczanie użytkowników z podobnymi preferencjami będzie zbliżone. Podobnie jest w przypadku osadzenia osadzonych dla użytkowników – wówczas możemy nauczyć się osadzania filmów, aby jak najlepiej wyjaśnić tabelę sygnałów zwrotnych. W związku z tym umieszczanie filmów podobnych do podobnych użytkowników będzie zamykane.