Aula polska: Rekomendacje filmów na Filmaster.pl

Post on 17-Oct-2014

1.250 views 2 download

description

Komputerowe wróżbiarstwo Czyli jak poprawić rekomendacje o 20%? Jakub Tlałka

Transcript of Aula polska: Rekomendacje filmów na Filmaster.pl

Filmaster.plKomputerowe wróżbiarstwoCzyli jak poprawić rekomendacje o 20%?

Jakub Tlałka

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

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.

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

Ocena rekomendacji

RMSE – wskaźnik skuteczności algorytmu

R - zbiór wszystkich ocen

g(r) – przewidywana ocena

Co się poprawiło?Stary algorytm Nowy algorytm

RMSE 1,55 1,30

Szybkość (0,5 mln ocen)

4 godziny(Python)

20 minut(C++)

Dostępność zasobów

Baza mocno obciążona

Jednorazowa aktualizacja

Możliwości ulepszenia

Nikłe Duże: Netflix ma RMSE 0,85

Problemy...

Przewidywane oceny wychodziły poza skalę

Rozwiązanie: usunięcie sztucznych ograniczeń

Spore wahanie rekomendacji w skali dziennej

Rozwiązanie: na razie brak...

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

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.

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

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@