by Xavier Amatriain and Justin Basilico (Personalization Science and Engineering)
Ebben a kétrészes blogbejegyzésben a Netflix egyik legértékesebb eszközének kapuit nyitjuk meg: Az ajánlórendszerünket. Az 1. részben a Netflix-díjat a szélesebb körű ajánlási kihíváshoz kapcsoljuk, felvázoljuk a személyre szabott szolgáltatásunk külső összetevőit, és rávilágítunk arra, hogyan fejlődött a feladatunk az üzlettel együtt. A 2. részben ismertetünk néhány általunk használt adatot és modellt, és megvitatjuk az algoritmikus innovációhoz alkalmazott megközelítésünket, amely az offline gépi tanulási kísérleteket az online AB teszteléssel kombinálja. Jó szórakozást… és ne feledje, hogy mindig újabb sztártehetségeket keresünk nagyszerű csapatunkba, ezért kérjük, nézze meg az állásajánlatok oldalunkat.
2006-ban meghirdettük a Netflix-díjat, egy gépi tanulási és adatbányászati versenyt a filmek értékelésének előrejelzésére. 1 millió dollárt ajánlottunk fel annak, aki 10%-kal javítja a Cinematch nevű meglévő rendszerünk pontosságát. Ezt a versenyt azért hirdettük meg, hogy új módszereket találjunk a tagjainknak nyújtott ajánlások javítására, ami üzleti tevékenységünk kulcsfontosságú részét képezi. Azonban egy olyan helyettesítő kérdést kellett kitalálnunk, amely könnyebben értékelhető és számszerűsíthető: az előre jelzett értékelés átlagos négyzetes hibájának gyökere (RMSE). A verseny a 0,9525-ös RMSE-nk felülmúlásáért folyt, a cél pedig a 0,8572-es vagy annál kisebb értékre való csökkentése volt.
Egy évvel a verseny után a Korbell csapata 8,43%-os javulással elnyerte az első Progress-díjat. Több mint 2000 órányi munkáról számoltak be, hogy létrehozzák a 107 algoritmus végső kombinációját, amely ezt a díjat eredményezte. Ráadásul a forráskódot is átadták nekünk. Megnéztük az együttesben a legjobb teljesítményt nyújtó két mögöttes algoritmust: A mátrix-faktorizálás (amelyet a közösség általánosan SVD-nek, azaz Singular Value Decomposition-nak nevez) és a Restricted Boltzmann Machines (RBM). Az SVD önmagában 0,8914 RMSE-t, míg az RBM önmagában versenyképes, de kissé rosszabb, 0,8990 RMSE-t adott. E kettő lineáris keveréke 0,88-ra csökkentette a hibát. Ahhoz, hogy ezeket az algoritmusokat használhassuk, le kellett küzdenünk néhány korlátozást, például azt, hogy a több mint 5 milliárd értékelés helyett 100 millió értékelés kezelésére készültek, és hogy nem úgy készültek, hogy alkalmazkodjanak, ha a tagok újabb értékeléseket adnak hozzá. De miután leküzdöttük ezeket a kihívásokat, a két algoritmust gyártásba vettük, ahol ma is az ajánlómotorunk részeként használjuk őket.
Ha követte a díjversenyt, talán kíváncsi, mi történt a végső nagydíjas együttessel, amely két évvel később megnyerte az 1 millió dollárt. Ez egy igazán lenyűgöző összeállítás és az évek munkájának csúcspontja, amely több száz előrejelző modellt vegyített össze, hogy végül átlépje a célvonalat. Néhány új módszert offline értékeltünk, de az általunk mért további pontosságnövekedés nem látszott igazolni a termelési környezetbe való bevezetésükhöz szükséges mérnöki erőfeszítést. Emellett a Netflix személyre szabásának javítására irányuló fókuszunk addigra már a következő szintre lépett. A bejegyzés hátralévő részében elmagyarázzuk, hogyan és miért változott ez a hangsúly.
Az amerikai DVD-kről a globális streamingre
Az egyik ok, amiért az ajánló algoritmusok terén megváltozott a fókuszunk, az az, hogy a Netflix egésze drámaian megváltozott az elmúlt néhány évben. A Netflix 2007-ben indította el azonnali streaming szolgáltatását, egy évvel a Netflix-díj indulása után. A streaming nemcsak azt változtatta meg, ahogyan tagjaink interakcióba lépnek a szolgáltatással, hanem az algoritmusainkban felhasználható adatok típusát is. A DVD-k esetében az a célunk, hogy segítsünk az embereknek feltölteni a sorukat olyan címekkel, amelyeket a következő napokban és hetekben postán kapnak meg; a kiválasztás időben távol esik a megtekintéstől, az emberek körültekintően választanak, mert egy DVD-t egy másikra cserélni több mint egy napot vesz igénybe, és a megtekintés során nem kapunk visszajelzést. A streaming esetében a tagok valami nagyszerűt keresnek, amit most azonnal megnézhetnek; meg tudnak kóstolni néhány videót, mielőtt döntenének egy mellett, több videót is elfogyaszthatnak egy munkamenet alatt, és megfigyelhetjük a megtekintési statisztikákat, például azt, hogy egy videót teljesen vagy csak részben néztek-e meg.
A másik nagy változás az egyetlen weboldalról a több száz eszközre való áttérés volt. A Roku lejátszóval és az Xbox-szal való integrációt 2008-ban jelentették be, két évvel a Netflix versenyében. Alig egy évvel később a Netflix streaming bekerült az iPhone-ba. Most már számtalan eszközön elérhető, amelyek a számtalan androidos eszköztől a legújabb AppleTV-ig terjednek.
Két évvel ezelőtt a kanadai indulással nemzetközivé váltunk. 2011-ben 43 latin-amerikai országgal és területtel bővítettük a listát. Nemrég pedig elindultunk az Egyesült Királyságban és Írországban. Ma a Netflixnek több mint 23 millió előfizetője van 47 országban. Ezek az előfizetők 2011 utolsó negyedévében 2 milliárd órát streameltek több száz különböző eszközről. Naponta 2 millió filmet és tévéműsort adnak hozzá a várólistához, és 4 millió értékelést generálnak.
A személyre szabási algoritmusainkat úgy igazítottuk ehhez az új forgatókönyvhöz, hogy ma már az emberek nézésének 75%-a valamilyen ajánlásból származik. Ezt a pontot a tagok élményének folyamatos optimalizálásával értük el, és mindig, amikor javítottuk a személyre szabást a tagjaink számára, jelentős növekedést mértünk a tagok elégedettségében. Most pedig hadd mutassunk be néhány technikát és megközelítést, amelyeket ezen ajánlások előállításához használunk.
Minden egy ajánlás
Az évek során felfedeztük, hogy előfizetőink számára óriási értéket jelent az ajánlások beépítése, hogy a Netflix minél nagyobb részét személyre szabjuk. A személyre szabás a kezdőlapunkon kezdődik, amely vízszintes sorokba rendezett videócsoportokból áll. Minden sornak van egy címe, amely az adott csoportba tartozó videók közötti szándékolt értelmes kapcsolatot közvetíti. A személyre szabásunk nagy része azon alapul, hogy hogyan választjuk ki a sorokat, hogyan határozzuk meg, hogy milyen elemek szerepeljenek bennük, és milyen sorrendben helyezzük el ezeket az elemeket.
Vegyük első példaként a Top 10 sort: ez a legjobb tippünk arra a tíz címre, amelyet a legnagyobb valószínűséggel élvezni fog. Természetesen amikor azt mondjuk, hogy “önök”, akkor valójában a háztartásukban élőkre gondolunk. Fontos szem előtt tartani, hogy a Netflix személyre szabása egy olyan háztartást hivatott kezelni, amelyben valószínűleg különböző ízlésű emberek élnek. Ezért amikor megnézi a Top10-et, valószínűleg felfedezhet apának, anyának, a gyerekeknek vagy az egész családnak szóló tételeket. Még egy egyszemélyes háztartás esetében is szeretnénk az érdeklődési körödnek és hangulatodnak megfelelni. Ennek érdekében rendszerünk számos részénél nemcsak a pontosságra, hanem a sokszínűségre is optimalizálunk.