by Xavier Amatriain and Justin Basilico (Personalization Science and Engineering)
W tym dwuczęściowym wpisie na blogu otworzymy drzwi jednego z najbardziej cenionych zasobów Netflixa: naszego systemu rekomendacji. W części 1 odnosimy Nagrodę Netflixa do szerszego wyzwania, jakim jest system rekomendacji, przedstawiamy zewnętrzne elementy naszej spersonalizowanej usługi oraz pokazujemy, jak nasze zadanie ewoluowało wraz z rozwojem firmy. W części 2 opiszemy niektóre dane i modele, z których korzystamy, oraz omówimy nasze podejście do innowacji algorytmicznych, które łączy eksperymentowanie z uczeniem maszynowym offline z testowaniem AB online. Miłego oglądania… i pamiętaj, że zawsze szukamy kolejnych gwiazd, które mogłyby zasilić nasz wspaniały zespół, więc zajrzyj na naszą stronę z ofertami pracy.
W 2006 roku ogłosiliśmy Netflix Prize, konkurs uczenia maszynowego i eksploracji danych dotyczący przewidywania ocen filmów. Zaoferowaliśmy 1 milion dolarów temu, kto poprawi dokładność naszego istniejącego systemu o nazwie Cinematch o 10%. Przeprowadziliśmy ten konkurs, aby znaleźć nowe sposoby na ulepszenie rekomendacji, które dostarczamy naszym użytkownikom, co stanowi kluczową część naszej działalności. Musieliśmy jednak wymyślić pytanie zastępcze, które było łatwiejsze do oceny i określenia ilościowego: błąd średniokwadratowy (RMSE) przewidywanej oceny. Wyścig miał na celu pokonanie naszego RMSE wynoszącego 0,9525 z linią mety w postaci zmniejszenia go do 0,8572 lub mniej.
Po roku od rozpoczęcia konkursu zespół Korbella zdobył pierwszą nagrodę Progress Prize, uzyskując poprawę o 8,43%. Zgłosili oni ponad 2000 godzin pracy, aby wymyślić ostateczną kombinację 107 algorytmów, która dała im tę nagrodę. Udostępnili nam również kod źródłowy. Przyjrzeliśmy się dwóm bazowym algorytmom z najlepszymi wynikami w zespole: Matrix Factorization (który społeczność ogólnie nazywa SVD, Singular Value Decomposition) i Restricted Boltzmann Machines (RBM). SVD samo w sobie dało RMSE na poziomie 0.8914, podczas gdy RBM samo w sobie dało konkurencyjne, ale nieco gorsze RMSE na poziomie 0.8990. Liniowa mieszanka tych dwóch algorytmów zmniejszyła błąd do 0.88. Aby wykorzystać te algorytmy, musieliśmy pokonać pewne ograniczenia, na przykład to, że zostały one stworzone do obsługi 100 milionów ocen, a nie ponad 5 miliardów, które posiadamy, a także to, że nie zostały one stworzone do adaptacji, gdy członkowie dodają więcej ocen. Kiedy jednak udało nam się pokonać te wyzwania, wprowadziliśmy oba algorytmy do produkcji, gdzie nadal są wykorzystywane jako część naszego silnika rekomendacji.
Jeśli śledziłeś losy konkursu o nagrodę, możesz się zastanawiać, co stało się z ostatecznym zespołem, który dwa lata później zdobył 1 milion dolarów. Jest to naprawdę imponująca kompilacja i kulminacja lat pracy, łącząca setki modeli predykcyjnych, aby w końcu przekroczyć linię mety. Ocenialiśmy niektóre z nowych metod w trybie offline, ale dodatkowy przyrost dokładności, który zmierzyliśmy, nie wydawał się uzasadniać wysiłku inżynieryjnego potrzebnego do wprowadzenia ich do środowiska produkcyjnego. Ponadto, do tego czasu nasza uwaga skupiona na poprawie personalizacji Netflixa przesunęła się na wyższy poziom. W dalszej części tego wpisu wyjaśnimy, jak i dlaczego się to zmieniło.
Od amerykańskich płyt DVD do globalnego streamingu
Jednym z powodów, dla których zmieniliśmy nasz punkt ciężkości w algorytmach rekomendacji, jest fakt, że Netflix jako całość zmienił się dramatycznie w ciągu ostatnich kilku lat. Netflix uruchomił usługę natychmiastowego przesyłania strumieniowego w 2007 r., rok po rozpoczęciu przyznawania nagrody Netflix. Streaming nie tylko zmienił sposób interakcji naszych użytkowników z serwisem, ale także rodzaj danych dostępnych do wykorzystania w naszych algorytmach. W przypadku DVD naszym celem jest pomoc ludziom w zapełnieniu ich kolejki tytułami, które otrzymają pocztą w ciągu najbliższych dni i tygodni; wybór jest oddalony w czasie od oglądania, ludzie wybierają ostrożnie, ponieważ wymiana DVD na inne trwa dłużej niż jeden dzień, a my nie otrzymujemy żadnych informacji zwrotnych podczas oglądania. W przypadku streamingu członkowie szukają czegoś wspaniałego do oglądania właśnie teraz; mogą próbować kilku filmów zanim zdecydują się na jeden, mogą konsumować kilka w jednej sesji, a my możemy obserwować statystyki oglądania, takie jak to, czy film został obejrzany w całości czy tylko częściowo.
Inną dużą zmianą było przejście z jednej strony internetowej do setek urządzeń. Integracja z odtwarzaczem Roku i konsolą Xbox została ogłoszona w 2008 roku, dwa lata przed konkurencją Netflixa. Zaledwie rok później, Netflix streaming trafił do iPhone. Teraz jest dostępny na wielu urządzeniach, od niezliczonych urządzeń z systemem Android do najnowszego AppleTV.
Dwa lata temu, poszliśmy na arenie międzynarodowej z uruchomieniem w Kanadzie. W 2011 roku dodaliśmy do listy 43 kraje i terytoria latynoamerykańskie. A niedawno rozpoczęliśmy działalność w Wielkiej Brytanii i Irlandii. Dziś Netflix ma ponad 23 miliony abonentów w 47 krajach. W ostatnim kwartale 2011 roku abonenci ci wyemitowali 2 miliardy godzin transmisji z setek różnych urządzeń. Każdego dnia dodają do kolejki 2 miliony filmów i programów telewizyjnych oraz generują 4 miliony ocen.
Dostosowaliśmy nasze algorytmy personalizacji do tego nowego scenariusza w taki sposób, że obecnie 75% tego, co ludzie oglądają, pochodzi z jakiegoś rodzaju rekomendacji. Osiągnęliśmy ten punkt dzięki ciągłej optymalizacji doświadczeń użytkowników i zmierzyliśmy znaczący wzrost satysfakcji członków za każdym razem, gdy poprawialiśmy personalizację dla naszych członków. Przejdźmy teraz przez niektóre z technik i metod, których używamy do tworzenia tych rekomendacji.
Everything is a Recommendation
Przez lata odkryliśmy, że włączenie rekomendacji w celu spersonalizowania jak największej części Netfliksa ma ogromną wartość dla naszych subskrybentów. Personalizacja zaczyna się na naszej stronie głównej, która składa się z grup filmów ułożonych w poziomych rzędach. Każdy rząd jest opatrzony tytułem, który wyraża zamierzony związek znaczeniowy między filmami w danej grupie. Większość naszej personalizacji opiera się na sposobie, w jaki wybieramy wiersze, w jaki sposób określamy, jakie elementy mają być w nich zawarte i w jakiej kolejności umieszczamy te elementy.
Weźmy jako pierwszy przykład wiersz Top 10: jest to nasze najlepsze przypuszczenie dotyczące dziesięciu tytułów, które najprawdopodobniej spodobają się użytkownikowi. Oczywiście, kiedy mówimy „Ty”, mamy na myśli wszystkich w Twoim domu. Ważne jest, aby pamiętać, że personalizacja Netflixa ma na celu obsługę gospodarstwa domowego, w którym prawdopodobnie są różne osoby o różnych gustach. Dlatego widząc swoje Top10, możesz odkryć pozycje dla taty, mamy, dzieci lub całej rodziny. Nawet w przypadku jednoosobowego gospodarstwa domowego chcemy odwołać się do Twoich zainteresowań i nastrojów. Aby to osiągnąć, w wielu częściach naszego systemu optymalizujemy nie tylko pod kątem dokładności, ale także różnorodności.