Wspólne filtrowanie

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ć.

Obraz przedstawiający kilka filmów i użytkowników ułożonych w jednowymiarowe miejsce do osadzenia. Pozycja każdego filmu na tej osi określa, czy jest to film dla dzieci (po lewej) czy dla dorosłych (po prawej). Pozycja użytkownika opisuje zainteresowanie dziećmi lub filmami dla dorosłych.

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.

Obraz tablicy opinii, w której wiersz odpowiada użytkownikowi, a kolumna odpowiada filmowi. Każdy użytkownik i każdy film są zmapowane na jednowymiarowe umieszczanie (zgodnie z powyższym rysunekem), w którym iloczyn obu tych elementów zawiera przybliżoną wartość danych podstawowych (ground truth) w tabeli opinii.

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:

Obraz przedstawiający kilka filmów i użytkowników ułożonych w dwuwymiarowe miejsce docelowe. Pozycja każdego filmu wzdłuż osi poziomej określa, czy jest to film dla dzieci (po lewej), czy dla dorosłych (po prawej). Pozycja filmu wzdłuż osi pionowej określa, czy jest to film kasowy (u góry), czy film kinowy (na dole). Pozycja użytkowników odzwierciedla ich zainteresowania w każdej kategorii.

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.

Obraz tej samej tablicy opinii. Tym razem każdy użytkownik i każdy film są zmapowane na dwuwymiarowe umieszczanie (tak jak na poprzedniej ilustracji), więc kropka w obu tych miejscach ma przybliżoną wartość prawda w tabeli opinii.

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.

Sprawdź swoją wiedzę

Model poleca użytkownikowi aplikację zakupową, ponieważ niedawno zainstalował taką aplikację. Jaki to jest przykład?
Filtrowanie na podstawie treści
Dobra robota! Filtrowanie na podstawie treści nie uwzględnia innych użytkowników.
Wspólne filtrowanie
Wspólne filtrowanie uwzględnia innych użytkowników. W takiej sytuacji zwracamy uwagę tylko na jednego użytkownika.