„Opuszczamy wiek informacji i wkraczamy w wiek rekomendacji.”
Jak wiele technik uczenia maszynowego, system rekomendacji dokonuje predykcji na podstawie historycznych zachowań użytkowników. Konkretnie, jest to przewidywanie preferencji użytkownika dla zestawu przedmiotów w oparciu o przeszłe doświadczenia. Aby zbudować system rekomendujący, dwa najpopularniejsze podejścia to Content-based i Collaborative Filtering.
Podejście oparte na treści wymaga dużej ilości informacji o cechach własnych elementów, a nie używania interakcji i informacji zwrotnych od użytkowników. Na przykład, mogą to być atrybuty filmu, takie jak gatunek, rok, reżyser, aktor itp. lub tekstowa treść artykułów, którą można wydobyć poprzez zastosowanie Natural Language Processing. Collaborative Filtering, z drugiej strony, nie potrzebuje niczego innego poza historycznymi preferencjami użytkowników na temat zestawu elementów. Ponieważ opiera się na danych historycznych, podstawowym założeniem jest to, że użytkownicy, którzy zgadzali się w przeszłości, mają tendencję do zgadzania się również w przyszłości. Jeśli chodzi o preferencje użytkowników, są one zazwyczaj wyrażane przez dwie kategorie. Wyraźna ocena, to ocena przyznana przez użytkownika danej pozycji w skali ruchomej, np. 5 gwiazdek dla Titanica. Jest to najbardziej bezpośrednia informacja zwrotna od użytkowników, pokazująca jak bardzo podoba im się dany element. Implicit Rating, sugeruje preferencje użytkowników pośrednio, takie jak odsłony strony, kliknięcia, rekordy zakupu, czy słuchać lub nie słuchać utworu muzycznego, i tak dalej. W tym artykule przyjrzę się bliżej filtracji kolaboracyjnej, która jest tradycyjnym i potężnym narzędziem dla systemów rekomendacji.
Standardowa metoda Collaborative Filtering jest znana jako algorytm Nearest Neighborhood. Istnieją CF oparte na użytkownikach i CF oparte na elementach. Przyjrzyjmy się najpierw CF opartemu na użytkowniku. Mamy macierz n × m ocen, z użytkownikiem uᵢ, i = 1, …n i elementem pⱼ, j=1, …m. Teraz chcemy przewidzieć ocenę rᵢⱼ, jeśli użytkownik docelowy i nie oglądał/oceniał elementu j. Proces polega na obliczeniu podobieństw między użytkownikiem docelowym i a wszystkimi innymi użytkownikami, wybraniu X najbardziej podobnych użytkowników i wyciągnięciu średniej ważonej ocen od tych X użytkowników z podobieństwami jako wagami.
Różni ludzie mogą mieć różne punkty odniesienia przy wystawianiu ocen, niektórzy ludzie mają tendencję do wystawiania wysokich ocen ogólnie, niektórzy są dość surowi, nawet jeśli są zadowoleni z przedmiotów. Aby uniknąć tej stronniczości, możemy odjąć średnią ocenę każdego użytkownika dla wszystkich elementów podczas obliczania średniej ważonej i dodać ją z powrotem dla użytkownika docelowego, jak pokazano poniżej.
Dwa sposoby obliczania podobieństwa to korelacja Pearsona i podobieństwo cosinusoidalne.