Doporučení pro Netflix:

Duben 6, 2012 – 9 minut čtení

od Xaviera Amatriaina a Justina Basilica (Personalization Science and Engineering)

V tomto dvoudílném příspěvku na blogu pootevřeme dveře jednomu z nejvíce ceněných aktiv společnosti Netflix: Náš doporučovací systém. V první části uvedeme do souvislosti cenu Netflixu s širším úkolem doporučování, nastíníme vnější součásti naší personalizované služby a zdůrazníme, jak se náš úkol vyvíjel spolu s podnikáním. V části 2 popíšeme některá data a modely, které používáme, a probereme náš přístup k algoritmickým inovacím, který kombinuje offline experimentování se strojovým učením s online testováním AB. Užijte si to… a nezapomeňte, že stále hledáme další hvězdné talenty do našeho skvělého týmu, takže se podívejte na naši stránku s pracovními nabídkami.

V roce 2006 jsme vyhlásili cenu Netflixu, soutěž ve strojovém učení a dolování dat pro předpovídání hodnocení filmů. Nabídli jsme 1 milion dolarů tomu, kdo zlepší přesnost našeho stávajícího systému s názvem Cinematch o 10 %. Tuto soutěž jsme uspořádali, abychom našli nové způsoby, jak zlepšit doporučení, která poskytujeme našim členům, což je klíčová část našeho podnikání. Museli jsme však vymyslet zástupnou otázku, kterou bylo snazší vyhodnotit a kvantifikovat: střední kvadratickou chybu (RMSE) předpovídaného hodnocení. Závodilo se o překonání naší RMSE 0,9525 s cílem snížit ji na 0,8572 nebo méně.

Po roce soutěže získal tým Korbell první cenu za pokrok se zlepšením o 8,43 %. Vykázali více než 2000 hodin práce, aby přišli s konečnou kombinací 107 algoritmů, která jim tuto cenu vynesla. A poskytli nám zdrojový kód. Podívali jsme se na dva základní algoritmy s nejlepšími výsledky v souboru: Matrix Factorization (které komunita obecně nazývá SVD, Singular Value Decomposition) a Restricted Boltzmann Machines (RBM). Samotná SVD poskytla hodnotu RMSE 0,8914, zatímco samotný RBM poskytl konkurenční, ale o něco horší hodnotu RMSE 0,8990. Lineární směs těchto dvou metod snížila chybu na 0,88. Abychom mohli tyto algoritmy použít, museli jsme se snažit překonat některá omezení, například to, že byly vytvořeny pro 100 milionů hodnocení namísto více než 5 miliard, které máme k dispozici, a že nebyly vytvořeny tak, aby se přizpůsobovaly, když členové přidávali další hodnocení. Jakmile jsme však tyto problémy překonali, nasadili jsme oba algoritmy do výroby, kde je dodnes používáme jako součást našeho doporučovacího systému.

Pokud jste soutěž o cenu sledovali, možná vás zajímá, co se stalo s finálním souborem Grand Prize, který o dva roky později získal 1 milion dolarů. Jedná se o skutečně působivou kompilaci a vyvrcholení mnohaleté práce, která spojila stovky prediktivních modelů, aby nakonec protnula cílovou pásku. Některé z nových metod jsme vyhodnotili offline, ale dodatečné zvýšení přesnosti, které jsme naměřili, se nezdálo ospravedlnit inženýrské úsilí potřebné k jejich zavedení do produkčního prostředí. Také naše zaměření na zlepšení personalizace Netflixu se v té době posunulo na další úroveň. Ve zbývající části tohoto příspěvku vysvětlíme, jak a proč se posunulo.

Od amerických DVD ke globálnímu streamování

Jedním z důvodů, proč se naše zaměření v doporučovacích algoritmech změnilo, je to, že Netflix jako celek se v posledních několika letech dramaticky změnil. Společnost Netflix spustila službu okamžitého streamování v roce 2007, tedy rok po zahájení soutěže o cenu Netflix. Streamování změnilo nejen způsob interakce našich členů se službou, ale také typ dat, která jsou k dispozici pro použití v našich algoritmech. U DVD je naším cílem pomoci lidem naplnit jejich frontu tituly, které obdrží poštou v následujících dnech a týdnech; výběr je časově vzdálen od sledování, lidé vybírají pečlivě, protože výměna DVD za jiné trvá déle než den, a během sledování nezískáváme žádnou zpětnou vazbu. U streamování členové hledají něco skvělého ke zhlédnutí právě teď; mohou si vyzkoušet několik videí, než se pro jedno rozhodnou, mohou jich zkonzumovat několik během jednoho sezení a můžeme sledovat statistiky sledování, například zda bylo video zhlédnuto celé, nebo jen částečně.

Další velkou změnou byl přechod z jedné webové stránky na stovky zařízení. Integrace s přehrávačem Roku a konzolí Xbox byla oznámena v roce 2008, tedy dva roky po vzniku konkurenčního Netflixu. Jen o rok později se streamování Netflix dostalo i do iPhonu. Nyní je k dispozici na mnoha zařízeních, která sahají od nesčetných zařízení se systémem Android až po nejnovější AppleTV.

Před dvěma lety jsme se spuštěním v Kanadě dostali na mezinárodní trh. V roce 2011 jsme přidali 43 latinskoamerických zemí a území. A teprve nedávno jsme zahájili provoz ve Velké Británii a Irsku. Dnes má Netflix více než 23 milionů předplatitelů ve 47 zemích. Tito předplatitelé v posledním čtvrtletí roku 2011 streamovali 2 miliardy hodin ze stovek různých zařízení. Každý den přidají do fronty 2 miliony filmů a televizních pořadů a vygenerují 4 miliony hodnocení.

Přizpůsobili jsme naše personalizační algoritmy tomuto novému scénáři tak, že nyní 75 % toho, co lidé sledují, vychází z nějakého doporučení. Tohoto bodu jsme dosáhli neustálou optimalizací uživatelské zkušenosti a naměřili jsme výrazný nárůst spokojenosti členů, kdykoli jsme zlepšili personalizaci pro naše členy. Nyní vás seznámíme s některými technikami a přístupy, které k vytváření těchto doporučení používáme.

Všechno je doporučení

V průběhu let jsme zjistili, že pro naše předplatitele má obrovskou hodnotu začlenění doporučení do personalizace co největší části služby Netflix. Personalizace začíná na naší domovské stránce, která se skládá ze skupin videí uspořádaných do vodorovných řad. Každá řada má název, který vyjadřuje zamýšlené významové spojení mezi videi v dané skupině. Většina naší personalizace je založena na způsobu, jakým vybíráme řádky, jak určujeme, jaké položky do nich zařadit a v jakém pořadí tyto položky umístit.

Jako první příklad uveďme řádek Top 10: jedná se o náš nejlepší odhad deseti titulů, které se vám budou s největší pravděpodobností líbit. Samozřejmě, když říkáme „vy“, myslíme tím ve skutečnosti všechny členy vaší domácnosti. Je důležité mít na paměti, že personalizace Netflixu je určena pro domácnost, ve které pravděpodobně žijí různí lidé s různým vkusem. Proto při zobrazení své Top10 pravděpodobně objevíte položky pro tátu, mámu, děti nebo celou rodinu. I pro jednočlennou domácnost chceme oslovit celou škálu vašich zájmů a nálad. Abychom toho dosáhli, v mnoha částech našeho systému optimalizujeme nejen přesnost, ale také rozmanitost.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.