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

bayesian: https://cwiki.apache.org/MAHOUT/bayesian.html

Complementary Naive Bayes - implementacja bazuje na icml03-nb.pdf

collaborative filtering:

Mahout - Taste Documentation (fast collaborative filtering engine for Java)

Przegląd implementacji uczenia maszynowego w mahout http://www.ibm.com/developerworks/java/library/j-mahout/

pl/dydaktyka/ztb/2012/projekty/social_news/research.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0