SlideShare a Scribd company logo
1 of 11
Download to read offline
Filmaster.pl
Komputerowe wróżbiarstwo
Czyli 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     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
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@

More Related Content

More from Borys Musielak

Do you really need a mentor as a founder?
Do you really need a mentor as a founder?Do you really need a mentor as a founder?
Do you really need a mentor as a founder?Borys Musielak
 
ReaktorX - From Idea to Funding
ReaktorX - From Idea to FundingReaktorX - From Idea to Funding
ReaktorX - From Idea to FundingBorys Musielak
 
ReaktorX Fuckup Nights Warsaw
ReaktorX Fuckup Nights WarsawReaktorX Fuckup Nights Warsaw
ReaktorX Fuckup Nights WarsawBorys Musielak
 
What Stops Eastern European Startups From Succeeding Globally?
What Stops Eastern European Startups From Succeeding Globally?What Stops Eastern European Startups From Succeeding Globally?
What Stops Eastern European Startups From Succeeding Globally?Borys Musielak
 
The Single Worst Pivot Idea
The Single Worst Pivot IdeaThe Single Worst Pivot Idea
The Single Worst Pivot IdeaBorys Musielak
 
Everything That Is Wrong With Polish Startups And How To Fix It... or why am ...
Everything That Is Wrong With Polish Startups And How To Fix It... or why am ...Everything That Is Wrong With Polish Startups And How To Fix It... or why am ...
Everything That Is Wrong With Polish Startups And How To Fix It... or why am ...Borys Musielak
 
Czy na pewno chcesz założyć startup?
Czy na pewno chcesz założyć startup?Czy na pewno chcesz założyć startup?
Czy na pewno chcesz założyć startup?Borys Musielak
 
Startups in Poland - Overview of The Polish Ecosystem ad 2015
Startups in Poland - Overview of The Polish Ecosystem ad 2015Startups in Poland - Overview of The Polish Ecosystem ad 2015
Startups in Poland - Overview of The Polish Ecosystem ad 2015Borys Musielak
 
Introducing Startup Poland
Introducing Startup PolandIntroducing Startup Poland
Introducing Startup PolandBorys Musielak
 
Lonely, Bankrupt, Riddled With Doubt -- Life Of An Entrepreneur
Lonely, Bankrupt, Riddled With Doubt -- Life Of An EntrepreneurLonely, Bankrupt, Riddled With Doubt -- Life Of An Entrepreneur
Lonely, Bankrupt, Riddled With Doubt -- Life Of An EntrepreneurBorys Musielak
 
Startup City Warsaw -- WARP 2014
Startup City Warsaw -- WARP 2014Startup City Warsaw -- WARP 2014
Startup City Warsaw -- WARP 2014Borys Musielak
 
"Audience Engagement Through Personalization" - Filmaster panel at MIPTV
"Audience Engagement Through Personalization" - Filmaster panel at MIPTV"Audience Engagement Through Personalization" - Filmaster panel at MIPTV
"Audience Engagement Through Personalization" - Filmaster panel at MIPTVBorys Musielak
 
Startup Essentials: Pitching, Idea Validation and First Steps in Business
Startup Essentials: Pitching, Idea Validation and First Steps in BusinessStartup Essentials: Pitching, Idea Validation and First Steps in Business
Startup Essentials: Pitching, Idea Validation and First Steps in BusinessBorys Musielak
 
Who Is Killing The Movie Business? [Aula Polska, November 2013]
Who Is Killing The Movie Business? [Aula Polska, November 2013]Who Is Killing The Movie Business? [Aula Polska, November 2013]
Who Is Killing The Movie Business? [Aula Polska, November 2013]Borys Musielak
 
"Network network network!" - Borys Musielak on Presentation and Publicity (Th...
"Network network network!" - Borys Musielak on Presentation and Publicity (Th..."Network network network!" - Borys Musielak on Presentation and Publicity (Th...
"Network network network!" - Borys Musielak on Presentation and Publicity (Th...Borys Musielak
 
"So you wanna be an enterpreneur? Here is what you need to know." - Borys Mus...
"So you wanna be an enterpreneur? Here is what you need to know." - Borys Mus..."So you wanna be an enterpreneur? Here is what you need to know." - Borys Mus...
"So you wanna be an enterpreneur? Here is what you need to know." - Borys Mus...Borys Musielak
 
Future of Television: Social, Personalized and Integrated (infoShare)
Future of Television: Social, Personalized and Integrated (infoShare)Future of Television: Social, Personalized and Integrated (infoShare)
Future of Television: Social, Personalized and Integrated (infoShare)Borys Musielak
 
Drive Cinema Attendance Through Personalization--Filmaster at CinemaCon 2013
Drive Cinema Attendance Through Personalization--Filmaster at CinemaCon 2013Drive Cinema Attendance Through Personalization--Filmaster at CinemaCon 2013
Drive Cinema Attendance Through Personalization--Filmaster at CinemaCon 2013Borys Musielak
 
Borys Musielak - A Geek's Guide To Networking
Borys Musielak - A Geek's Guide To NetworkingBorys Musielak - A Geek's Guide To Networking
Borys Musielak - A Geek's Guide To NetworkingBorys Musielak
 
Social Media Day Warsaw 2012
Social Media Day Warsaw 2012Social Media Day Warsaw 2012
Social Media Day Warsaw 2012Borys Musielak
 

More from Borys Musielak (20)

Do you really need a mentor as a founder?
Do you really need a mentor as a founder?Do you really need a mentor as a founder?
Do you really need a mentor as a founder?
 
ReaktorX - From Idea to Funding
ReaktorX - From Idea to FundingReaktorX - From Idea to Funding
ReaktorX - From Idea to Funding
 
ReaktorX Fuckup Nights Warsaw
ReaktorX Fuckup Nights WarsawReaktorX Fuckup Nights Warsaw
ReaktorX Fuckup Nights Warsaw
 
What Stops Eastern European Startups From Succeeding Globally?
What Stops Eastern European Startups From Succeeding Globally?What Stops Eastern European Startups From Succeeding Globally?
What Stops Eastern European Startups From Succeeding Globally?
 
The Single Worst Pivot Idea
The Single Worst Pivot IdeaThe Single Worst Pivot Idea
The Single Worst Pivot Idea
 
Everything That Is Wrong With Polish Startups And How To Fix It... or why am ...
Everything That Is Wrong With Polish Startups And How To Fix It... or why am ...Everything That Is Wrong With Polish Startups And How To Fix It... or why am ...
Everything That Is Wrong With Polish Startups And How To Fix It... or why am ...
 
Czy na pewno chcesz założyć startup?
Czy na pewno chcesz założyć startup?Czy na pewno chcesz założyć startup?
Czy na pewno chcesz założyć startup?
 
Startups in Poland - Overview of The Polish Ecosystem ad 2015
Startups in Poland - Overview of The Polish Ecosystem ad 2015Startups in Poland - Overview of The Polish Ecosystem ad 2015
Startups in Poland - Overview of The Polish Ecosystem ad 2015
 
Introducing Startup Poland
Introducing Startup PolandIntroducing Startup Poland
Introducing Startup Poland
 
Lonely, Bankrupt, Riddled With Doubt -- Life Of An Entrepreneur
Lonely, Bankrupt, Riddled With Doubt -- Life Of An EntrepreneurLonely, Bankrupt, Riddled With Doubt -- Life Of An Entrepreneur
Lonely, Bankrupt, Riddled With Doubt -- Life Of An Entrepreneur
 
Startup City Warsaw -- WARP 2014
Startup City Warsaw -- WARP 2014Startup City Warsaw -- WARP 2014
Startup City Warsaw -- WARP 2014
 
"Audience Engagement Through Personalization" - Filmaster panel at MIPTV
"Audience Engagement Through Personalization" - Filmaster panel at MIPTV"Audience Engagement Through Personalization" - Filmaster panel at MIPTV
"Audience Engagement Through Personalization" - Filmaster panel at MIPTV
 
Startup Essentials: Pitching, Idea Validation and First Steps in Business
Startup Essentials: Pitching, Idea Validation and First Steps in BusinessStartup Essentials: Pitching, Idea Validation and First Steps in Business
Startup Essentials: Pitching, Idea Validation and First Steps in Business
 
Who Is Killing The Movie Business? [Aula Polska, November 2013]
Who Is Killing The Movie Business? [Aula Polska, November 2013]Who Is Killing The Movie Business? [Aula Polska, November 2013]
Who Is Killing The Movie Business? [Aula Polska, November 2013]
 
"Network network network!" - Borys Musielak on Presentation and Publicity (Th...
"Network network network!" - Borys Musielak on Presentation and Publicity (Th..."Network network network!" - Borys Musielak on Presentation and Publicity (Th...
"Network network network!" - Borys Musielak on Presentation and Publicity (Th...
 
"So you wanna be an enterpreneur? Here is what you need to know." - Borys Mus...
"So you wanna be an enterpreneur? Here is what you need to know." - Borys Mus..."So you wanna be an enterpreneur? Here is what you need to know." - Borys Mus...
"So you wanna be an enterpreneur? Here is what you need to know." - Borys Mus...
 
Future of Television: Social, Personalized and Integrated (infoShare)
Future of Television: Social, Personalized and Integrated (infoShare)Future of Television: Social, Personalized and Integrated (infoShare)
Future of Television: Social, Personalized and Integrated (infoShare)
 
Drive Cinema Attendance Through Personalization--Filmaster at CinemaCon 2013
Drive Cinema Attendance Through Personalization--Filmaster at CinemaCon 2013Drive Cinema Attendance Through Personalization--Filmaster at CinemaCon 2013
Drive Cinema Attendance Through Personalization--Filmaster at CinemaCon 2013
 
Borys Musielak - A Geek's Guide To Networking
Borys Musielak - A Geek's Guide To NetworkingBorys Musielak - A Geek's Guide To Networking
Borys Musielak - A Geek's Guide To Networking
 
Social Media Day Warsaw 2012
Social Media Day Warsaw 2012Social Media Day Warsaw 2012
Social Media Day Warsaw 2012
 

Aula polska: Rekomendacje filmów na Filmaster.pl

  • 1. Filmaster.pl Komputerowe wróżbiarstwo Czyli jak poprawić rekomendacje o 20%? Jakub Tlałka
  • 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@