2. Czym jest Filmaster?
Filmaster to otwarty, społecznościowy
serwis dla miłośników kina.
Można na nim prowadzić filmowego bloga,
oceniać filmy i dyskutować z innymi
użytkownikami. Bonusem są
spersonalizowane rekomendacje.
Kod napisany w języku Python przy użyciu
frameworka Django i bazy PostgreSQL.
Dostępny na wolnej licencji AGPLv3.
Każdy może go użyć/poprawić.
3. Rekomendacje:
Najprostsze podejście
Określamy podobieństwo użytkowników na
podstawie wspólnie ocenionych filmów.
Przewidywana ocena filmu to średnia
ważona oceny pozostałych użytkowników,
gdzie wagą jest zbieżność gustu.
4. Nowy algorytm rekomendacji
Zakładamy że na ocenę wpływają pewne
abstrakcyjne cechy. Dla każdej z nich liczymy:
- istotność dla każdego z użytkowników
- poziom cechy w rozważanych filmach
Na podstawie wyliczonych współczynników
obliczamy przewidywaną ocenę dla każdej
pary (użytkownik, film).
5. Ocena rekomendacji
RMSE – wskaźnik skuteczności algorytmu
R - zbiór wszystkich ocen
g(r) – przewidywana ocena
6. Co się poprawiło?
Stary algorytm Nowy algorytm
RMSE 1,55 1,30
Szybkość (0,5 4 godziny 20 minut
mln ocen) (Python) (C++)
Dostępność Baza mocno Jednorazowa
zasobów obciążona aktualizacja
Możliwości Nikłe Duże: Netflix
ulepszenia ma RMSE 0,85
7. Problemy...
Przewidywane oceny wychodziły poza skalę
Rozwiązanie: usunięcie sztucznych ograniczeń
Spore wahanie rekomendacji w skali dziennej
Rozwiązanie: na razie brak...
8. Problemy...
Przy złym doborze współczynników algorytm
wymyka się spod kontroli
Rozwiązanie: Kontrola poprawności przy
użyciu RMSE, skalowanie współczynników w
przypadku nieprawidłowego działania
9. Więcej problemów...
Problemy związane z rozmiarem
danych (obecnie ponad pół miliona ocen,
ponad 8,5 mln rekomendacji)
Rozwiązanie: aktualizacja danych przez
czyszczenie bazy rekomendacji wraz z
indeksami, a potem wrzucanie nowych
wyników i odnawianie indeksów.
10. Zastosowania
Opisane podejścia można stosować w
przypadku dowolnego zbioru obiektów
podlegających ocenie: literatura, muzyka
Wyliczane współczynniki mogą służyć
również do określania podobieństwa między
obiektami
Znajdowanie cech wspólnych między
pozornie różnymi obiektami
11. Przyłącz się!
www: filmaster.pl, filmaster.com
portal dla deweloperów: filmaster.org
fan page: facebook.com/FilmasterCom
kod: bitbucket.org/filmaster/filmaster-test
filmaster@