Systemy rekomendacyjne
Sposoby implementacji systemów rekomendacyjnych
Bardzo stary artykuł o systemach rekomendacyjnych
Collaborative filtering
Główna idea: dopasowanie ocen innych użytkowników do ocen wybranego użytkownika
Reprezentacja danych: macierz R m x n
m - użytkownicy
n - pozycje
r[ij] = 1, jeśli użytkownik i rekomenduje pozycję j; 0 w przeciwnym wypadku
Zamiast miary binarnej można zastosować kilka stopni rekomendacji (gwiazdki)
Podobieństwo między użytkownikami to po prostu liczba pozycji, na których ich wiersze się różnią (odległość Hamminga (która przy reprezentacji binarnej jest po prostu operacją XOR))
Uwagi praktyczne:
* macierz R zwykle okazuje się bardzo rzadka (< 1% wartości 1)
* jeżeli macierz jest zbyt duża, można wybrać reprezentatywny podzbiór (opcjonalnie: kazać użytkownikom obowiązkowo ocenić je przy rejestracji) i liczyć podobieństwo między użytkownikami tylko na podstawie pozycji z tego podzbioru
Gdy mamy już wiedzę o tym, którzy użytkownicy są najbardziej podobni do rozpatrywanego, wystarczy pobrać pozycje rekomendowane przez nich i odfiltrować spośród nich te, które są już rekomendowane lub z których skorzystał już rozpatrywany użytkownik.
Mahout