Otwarty silnik rekomendacji filmów
- Dodano: 5 maja 2010
- Wprowadził: michuk
- Komentarze: 10
Od kilku dni rekomendacje filmów w społecznościowym serwisie Filmaster generuje nowy algorytm dostępny na licencji AGPLv3.
Nowy silnik rekomendacji serwisu stworzony został w oparciu o dobre praktyki wypracowane przez programistów pracujących nad rozwiązaniem konkursu Netflix (zwiększenie o 10% celności filmowych rekomendacji).
Trafność rekomendacji nowego algorytmu Filmastera wyliczona za pomocą testu silników rekomendacji, jest prawie 20% większa niż wcześniejszego algorytmu. Konkretnie, wartość RMSE wyliczona na podstawie około ćwierć miliona ocen wynosi:
- 1,55 dla starego algorytmu
- 1,30 dla nowego
Nowy algorytm pobiera dane dotyczące głosów z bazy danych, następnie przetwarza je generując rekomendacje, by ostatecznie nadpisać wcześniej wygenerowane rekomendacje w bazie. Pierwsza i ostatnia część jest oczywiście specyficzna dla Filmastera. Sam algorytm jednak, będący sercem silnika, jest całkowicie uniwersalny i może być wykorzystany w dowolnym projekcie open source.
Nad nowym algorytmem rekomendacji pracował Jakub Tlałka. W zeszłym roku licealista w Staszicu i finalista Olimpiady Matematycznej, obecnie student pierwszego roku matematyki i informatyki Uniwersytetu Warszawskiego oraz dorywczo programista Filmastera.
Mimo że serwis Filmaster napisany jest w większości w Pythonie (framework django), silnik rekomendacji zaimplementowany został w C++ ze względu na większą wydajność. Kod nowego silnika pobrać można z repozytorium. Podobnie jak całość kodu Filmastera dostępny jest on na licencji AGPLv3.
Szczegółowa dokumentacja techniczna nowego algorytmu znajduje się na wiki: New recommendation engine. Porównać ją można z wcześniejszym algorytmem oraz z niezaimplementowanym pomysłem na alternatywny algorytm rekomendacji.
Algorytm przetestować możecie oceniając co najmniej 20 filmów w serwisie Filmaster (wymagane jest konto), a następnie przechodząc na stronę rekomendacji filmów. Alternatywnie, możecie zaaplikować mechanizm rekomendacji na własnych danych. W przypadku sukcesów lub porażek, prosimy o komentarze.
Więcej informacji: http://blog.filmaster.pl/rekomendacje-fi...afniejsze/
Znalazłeś literówkę? Zgłoś ją używając formularza!
Jeśli uważasz, że ten nius jest nieobiektywny, przedstawia nieprawdziwe wydarzenie, jest spamem lub nie spełnia standardów serwisu, napisz raport.
Niusy na podobny temat:
Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.
10 komentarzy
Wszystkie autorskie niusy w serwisie publikowane są na licencji Creative Commons Uznanie autorstwa 2.5 Polska.


Przydałaby się jeszcze dla porównania informacja, że algorytm Netfliksa ma RMSE na poziomie około 0.9 (wiem, że można kliknąć w link do newsa o konkursie, ale dobrze by było zawrzeć taką informację również w tym).
Jakub Tlałka – świetna robota!
(ale zawsze może być lepiej ;p)
<code>#define FOR(i,a,n) for(int i=a;i<=n;i++)
#define REP(i,n) for (int i=0;i<n;i++)
#define FORD(i,n,a) for(int i=n;i>=a;i–)</code>
No tak, nie mogło zabraknąć tych trzech nieśmiertelnych makr…
EDIT: WP to straszny złom, kto mu każe interpretować zawartość tekstu między znacznikami code?
a co to za potworek?
tego uczą przy rozwiązywaniu zadań na olimpiadach/konkursach programistycznych, jak ma się kilka godzin na rozwiązanie zadań przydają się takie tricki
Fajne
styl w ogóle strasznie zajeżdża olimpiadą informatyczną i innymi konkursami algorytmicznymi:)
no, ale szacunek należy się za sam algorytm. oby tak dalej!
lepiej zapytajcie się gości z filmweba jak tam ich system rekomendacji i nowa strona, o których tak BARDZO bardzo szumnie było w marcu, a ktore miały ruszyć w kwietniu i nie ma…
Pewnie czekają aż Jakub dokończy swój algorytm żeby go wykorzystać u siebie ;>
czy to ten sam, który został wprowadzony 1 kwietnia :> ?
Nie, tamtego napisał nam jakiś matematyk z CERNu. Przy Jakubie to płotka :>