Netflix-anbefalinger:

6. apr, 2012 – 9 min læsning

af Xavier Amatriain og Justin Basilico (Personalization Science and Engineering)

I dette blogindlæg i to dele vil vi åbne dørene til et af de mest værdsatte Netflix-aktiver: vores anbefalingssystem. I del 1 vil vi relatere Netflix-prisen til den bredere anbefalingsudfordring, skitsere de eksterne komponenter i vores personaliserede tjeneste og fremhæve, hvordan vores opgave har udviklet sig i takt med virksomheden. I del 2 vil vi beskrive nogle af de data og modeller, som vi bruger, og diskutere vores tilgang til algoritmisk innovation, der kombinerer offline maskinlæringseksperimentering med online AB-testning. God fornøjelse … og husk, at vi altid er på udkig efter flere stjernetalenter til vores fantastiske team, så tag et kig på vores jobside.

I 2006 annoncerede vi Netflix Prize, en konkurrence om maskinlæring og datamining til forudsigelse af filmvurderinger. Vi tilbød 1 million dollars til den, der forbedrede nøjagtigheden af vores eksisterende system kaldet Cinematch med 10 %. Vi gennemførte denne konkurrence for at finde nye måder at forbedre de anbefalinger, vi giver vores medlemmer, hvilket er en vigtig del af vores forretning. Vi var imidlertid nødt til at finde på et proxy-spørgsmål, der var lettere at evaluere og kvantificere: den gennemsnitlige kvadratfejl (RMSE) af den forudsagte vurdering. Kapløbet var i gang for at slå vores RMSE på 0,9525 med målstregen om at reducere den til 0,8572 eller mindre.

Et år inde i konkurrencen vandt Korbell-holdet den første Progress Prize med en forbedring på 8,43 %. De rapporterede mere end 2000 timers arbejde for at finde frem til den endelige kombination af 107 algoritmer, som gav dem denne pris. Og de gav os kildekoden. Vi kiggede på de to underliggende algoritmer med den bedste ydelse i ensemblet: Matrix Factorization (som i samfundet generelt kaldes SVD, Singular Value Decomposition) og Restricted Boltzmann Machines (RBM). SVD alene gav en RMSE på 0,8914, mens RBM alene gav en konkurrencedygtig, men lidt dårligere RMSE på 0,8990. En lineær blanding af disse to reducerede fejlen til 0,88. For at tage disse algoritmer i brug måtte vi arbejde på at overvinde nogle begrænsninger, f.eks. at de var bygget til at håndtere 100 millioner bedømmelser i stedet for de mere end 5 milliarder, som vi har, og at de ikke var bygget til at tilpasse sig, efterhånden som medlemmerne tilføjede flere bedømmelser. Men da vi først havde overvundet disse udfordringer, satte vi de to algoritmer i produktion, hvor de stadig bruges som en del af vores anbefalingsmotor.

Hvis du fulgte med i priskonkurrencen, undrer du dig måske over, hvad der skete med det endelige Grand Prize-ensemble, der vandt 1 mio. dollars to år senere. Det er en virkelig imponerende samling og kulminationen af flere års arbejde, hvor hundredvis af forudsigelsesmodeller blev blandet for til sidst at krydse målstregen. Vi evaluerede nogle af de nye metoder offline, men de ekstra præcisionsgevinster, som vi målte, lod ikke til at retfærdiggøre den tekniske indsats, der var nødvendig for at bringe dem ind i et produktionsmiljø. Desuden var vores fokus på at forbedre Netflix-personalisering på det tidspunkt skiftet til det næste niveau. I resten af dette indlæg vil vi forklare, hvordan og hvorfor det har skiftet.

Fra amerikanske dvd’er til global streaming

En af grundene til, at vores fokus i anbefalingsalgoritmerne har ændret sig, er, at Netflix som helhed har ændret sig dramatisk i de sidste par år. Netflix lancerede en instant streaming-tjeneste i 2007, et år efter at Netflix-prisen begyndte. Streaming har ikke kun ændret den måde, hvorpå vores medlemmer interagerer med tjenesten, men også den type data, der er tilgængelige til brug i vores algoritmer. For dvd’er er vores mål at hjælpe folk med at fylde deres kø med titler, som de kan modtage med posten i løbet af de kommende dage og uger; udvælgelsen ligger tidsmæssigt langt fra visningen, folk vælger omhyggeligt, fordi det tager mere end en dag at ombytte en dvd til en anden, og vi får ingen feedback under visningen. Med hensyn til streaming søger medlemmerne efter noget godt at se lige nu; de kan prøve et par videoer, før de beslutter sig for en, de kan konsumere flere på én gang, og vi kan observere seerstatistikker, f.eks. om en video blev set fuldt ud eller kun delvist.

En anden stor ændring var flytningen fra et enkelt websted til hundredvis af enheder. Integrationen med Roku-afspilleren og Xbox blev annonceret i 2008, to år efter Netflix-konkurrencen. Blot et år senere blev Netflix-streaming indført i iPhone. Nu er det tilgængeligt på et væld af enheder, der går fra et utal af Android-enheder til den nyeste AppleTV.

For to år siden gik vi internationalt med lanceringen i Canada. I 2011 tilføjede vi 43 latinamerikanske lande og territorier til listen. Og for ganske nylig lancerede vi i Storbritannien og Irland. I dag har Netflix mere end 23 millioner abonnenter i 47 lande. Disse abonnenter streamede 2 milliarder timer fra hundredvis af forskellige enheder i sidste kvartal af 2011. Hver dag tilføjer de 2 millioner film og tv-serier til køen og genererer 4 millioner vurderinger.

Vi har tilpasset vores personaliseringsalgoritmer til dette nye scenario på en sådan måde, at 75 % af det, folk ser, nu stammer fra en eller anden form for anbefaling. Vi nåede dette punkt ved løbende at optimere medlemsoplevelsen og har målt betydelige gevinster i medlemstilfredsheden, hver gang vi forbedrede personaliseringen for vores medlemmer. Lad os nu gennemgå nogle af de teknikker og tilgange, som vi bruger til at producere disse anbefalinger.

Alt er en anbefaling

Vi har gennem årene opdaget, at der er en enorm værdi for vores abonnenter i at indarbejde anbefalinger for at personliggøre så meget af Netflix som muligt. Personaliseringen starter på vores hjemmeside, som består af grupper af videoer arrangeret i vandrette rækker. Hver række har en titel, der formidler den tilsigtede meningsfulde forbindelse mellem videoerne i den pågældende gruppe. Det meste af vores personalisering er baseret på den måde, vi vælger rækker på, hvordan vi bestemmer, hvilke emner der skal indgå i dem, og i hvilken rækkefølge disse emner skal placeres.

Tag som et første eksempel rækken Top 10: Dette er vores bedste bud på de ti titler, som du sandsynligvis vil nyde mest. Når vi siger “dig”, mener vi naturligvis alle i din husstand. Det er vigtigt at huske på, at Netflix’ personalisering er beregnet til at håndtere en husstand, der sandsynligvis har forskellige personer med forskellige smagsløg. Derfor er det sandsynligt, at du, når du ser din Top10, vil opdage programmer til far, mor, børnene eller hele familien. Selv for en husstand med kun én person ønsker vi at appellere til dine forskellige interesser og stemninger. For at opnå dette optimerer vi i mange dele af vores system ikke kun for nøjagtighed, men også for mangfoldighed.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.