REKLAMA

Wojtek Kulik był o włos od wygrania konkursu Netflixa. Dziś pracuje nad dwoma innowacyjnymi projektami

Kilka miesięcy temu rozmawialiśmy z Arkiem Paterkiem, polskim uczestnikiem konkursu Netflixa na algorytm rekomendacji filmów. Przypomnijmy, że w konkursie tym uczestniczyły najtęższe programistyczne i koncepcyjne głowy z całego świata, a do zgarnięcia był okrągły milion dolarów i oczywiście sława człowieka, którego algorytm uczestniczy w funkcjonowaniu jednej z większych firm medialnych.

netflix
REKLAMA
REKLAMA

Jak się okazało, nie był to jedyny uczestnik startujący w polskich barwach. Spotkaliśmy jeszcze jedną osobę, która wzięła udział w konkursie. Jest to Wojtek Kulik, który startował w barwach teamu o nazwie The Ensemble.

netflix_leaderboard

Jak widać z tabeli wyników, przegrał on minimalnie z usytuowanym na pierwszym miejscu teamem Bellkor's Pragmatic Chaos. Wyniki nie różnią się do trzeciego miejsca po przecinku, uzasadnione jest więc stwierdzenie, że szli łeb w łeb.

Co ciekawe Wojtek Kulik studiował z naszym wcześniejszym rozmówcą - Arkadiuszem Paterkiem - na tej samej uczelni (Uniwersytet Warszawski), co dobrze świadczy o jej poziomie. W tej chwili pracuje nad własną aplikacją służącą do rekomendowania rzeczy w dowolnej kategorii, wyposażoną w algorytm uczenia maszynowego i dostosowującą się do naszych upodobać. Aplikację można pobrać już dla urządzeń z iOS.

01 lista tematów

Hubert Taler, Spider's Web: Witaj Wojtku, proszę o kilka słów o sobie.

Wojtek Kulik: Ukończyłem informatykę na Uniwersytecie Warszawskim; to ta sama uczelnia i ten sam kierunek, którą skończył Arek, choć nie znaliśmy się jako studenci. Poznaliśmy się dopiero podczas konkursu. W przeciwieństwie do Arka, w ogóle nie byłem zainteresowany kontynuowaniem kariery naukowej, interesowała mnie głównie praktyka.

Jak to się stało, że zainteresowałeś się konkursem Netflixa?

Konkursem Netflixa zainteresowałem się w 2008 roku, gdy odchodziłem z drugiej pracy. Chciałem zrobić coś naprawdę ambitnego (w przeciwieństwie do rzeczy, które robiłem do tego czasu zawodowo), przy okazji wygrać główną nagrodę i do końca życia leżeć brzuchem do góry gdzieś na końcu świata. Plan B był taki, że dostanę lepszą pracę, niż miałem do tej pory. Plan B się zdecydowanie powiódł.

Zagadnienie rekomendowania filmów to niewątpliwe złożone zadanie. Jak do tego podszedłeś? Czy można gdzieś więcej o tym poczytać?

Podczas Netflix Prize skupiłem się na optymalizacji algorytmów rekomendacji, na algorytmach z jak najkrótszym czasem wykonania. Moje największe osiągnięcie z tego czasu to algorytm działający poniżej minuty i dający wyniki o wiele lepsze, niż efekt pracy wielu inżynierów Netflixa. Z tego okresu pozostał mi blog z kilkoma wpisami oraz slajdy opisujące zarys mojej metody.

netflix_pres

Netflix Prize mógł wygrać tylko jeden zespół, ale - jak widać z tabeli wyników - było to drugie mocne miejsce. Skoro nie zgarnąłeś miliona od Netflixa, co robiłeś dalej?

Po zakończeniu Netflix Prize dołączyłem do obiecującego startupu o nazwie Polar Rose, gdzie pracowałem nad oprogramowaniem zajmującym się technologią wykrywania i porównywania twarzy (ang. face detection, face recognition). Jakiś czas później, duża firma owocowa ("Forrest Gump", anyone?) przejęła cały ten interes (niektóre portale plotkowały o szczegółach, np. pisał o tym TechCrunch, ja niczego takiego nie pamiętam) i wzięła ze sobą do Kalifornii. Byłem jedyną techniczną osobą z tego startupu, która zdecydowała się zostać w Europie.

Nie wiem, czy postąpiłbym tak samo... i co dalej?

Nieco później dołączyłem do młodego i obiecującego zespołu Futureful, startupu z Finlandii, gdzie byłem i jestem po dziś dzień odpowiedzialny głównie za silnik rekomendacyjny.

Pomysł polega na opracowaniu inteligentnej przeglądarki sieci web z rekomendacjami, z interfejsem na urządzenia mobilne. Inteligencja tej przeglądarki polega na "uczeniu" się preferencji użytkownika, np. wyobraźmy sobie, że zamiast codziennego wchodzenia na strony sportowe ta przeglądarka podaje je nam automatycznie i wie, że jestem fanem Brazylii, a nie Niemiec (tak, mam odwagę wciąż tak mówić po wczorajszym meczu...), dlatego też szuka dla mnie artykułów raczej o Brazylii.

Artykuły mogą pochodzić z wielu różnych źródeł, są to po prostu różne strony z sieci zbierane przez nasz system. Skupiliśmy się na urządzeniach mobilnych, bo po pierwsze stanowią one już większość, a po drugie uważamy, że samo wyszukiwanie czy też dostarczanie na nie informacji powinno wyglądać inaczej niż do tej pory (np. pisanie na tablecie jest dość irytujące) i żadna aplikacja nie robiła tego odpowiednio dobrze.

Przeniosłeś się do Finlandii?

Pracuję z Polski, zdalnie. W Finlandii jedynie bywam.

Proszę opowiedz jeszcze coś o swoim prywatnym projekcie, czyli Random?

Random to najnowsza wersja naszej aplikacji, z dość - przyznam - prowokacyjną nazwą :-) Aplikacja jest - mam nadzieję - dość prosta w użyciu dla końcowego użytkownika, po prostu widzi on listę tematów, które mogą go potencjalnie zainteresować; po wybraniu któregoś z nich wczytuje się strona powiązana z danym tematem. Po jej "przeczytaniu" możemy np. podzielić się z kimś znalezionym artukułem, po czym... wracamy do wyboru tematów. System analizuje nasze wybory i dostosowuje przyszłe na podstawie wcześniejszych, mamy także ciekawe mechanizmy do analizy konsumowanych treści (np. zakładamy, że jeśli użytkownik spędził sporo czasu na czytaniu artykułu, to raczej go polubił); zapewniam, że "niewidzialna" część systemu (którą się głównie zajmuję) jest dużo bardziej skomplikowana niż to, co widzi użytkownik.

03 lista tematów po football

Początkowo system nie wie zbyt wiele o użytkowniku (bo niby skąd?), dlatego też sugestie mogą być nieco "randomowe", ale im dłużej korzystamy z tej aplikacji, tym bardziej precyzyjne będą podpowiedzi udzielane przez system. Mocną stroną tej aplikacji jest także to, że można w nim znaleźć artykuły z wielu różnych źródeł, a nie tylko z np. 20 portali.

Bardzo istotne dla nas jest to, żeby "zatracić" się w inteligentnym i zaskakującym przeszukiwaniu internetu; trudno to opisać po polsku, po angielsku jest takie zgrabne słowo "serendipity". Dla przykładu, zaczynam czytać coś o Mistrzostwach Świata w Piłce Nożnej - system podpowiada "Neymar" - czytam o tym, że Neymar doznał kontuzji kręgosłupa, niewiele brakowało do uszkodzenia rdzenia kręgowego - system podpowiada "rdzeń kręgowy" - czytam o rdzeniu kręgowym itp. Zatem zacząłem czytać o piłce nożnej, a po kilku krokach znalazłem tekst medyczny, pozornie dwie dość odległe dziedziny; i widzę, w jaki sposób jedno łączy się z drugim. Wielu z nas przegląda internet w ten właśnie sposób. Jest na to aplikacja :-)

02 po wybraniu football

Poza rekomendacjami, czyli wyborem tematów i artykułów dla użytkowników, od pewnego czasu zajmuję się także algorytmami przetwarzania języka naturalnego (ang. NLP, Natural Language Processing), interesuje mnie głównie problem automatycznej ekstrakcji słów kluczowych ("tagów") z tekstu, dość dokładnie opisujących ten tekst. Póki co jedynie dla języka angielskiego, podobnie jak cała aplikacja.

Całkiem dużo zajęć jak na jednego człowieka! Czy zajmujesz sie czymś jeszcze?

Od czasu do czasu współpracuję z Komisją Europejską, gdzie pomagam wybrać innowacyjne projekty starające się o dofinansowanie z puli pieniędzy oferowanych przez Komisję. Niestety, tu nie mogę rozmawiać o szczegółach.

W wolnym czasie, w przeciwieństwie do pracy, siedzę przed komputerem, tyle, że marnuję czas na głupoty :-) Czasami też poczytam książkę, obejrzę film albo poruszam się nieco na świeżym powietrzu.

Dziękujemy za wywiad i życzymy powodzenia!

Jak widać, bez większego rozgłosu, nasi rodacy odnoszą międzynarodowe sukcesy w konkursach typu Netflix Prize oraz pracują nad bardzo innowacyjnymi technologiami. Pokazuje to, jak mały stał się teraz świat - możemy pracować w dowolnym miejscu globu, nie ruszając się z domu.

REKLAMA

---

Zdjęcie główne pochodzi z Shutterstock

REKLAMA
Najnowsze
REKLAMA
REKLAMA
REKLAMA