Netflix-rekommendationer:

Apr 6, 2012 – 9 min read

av Xavier Amatriain och Justin Basilico (Personalization Science and Engineering)

I det här blogginlägget i två delar kommer vi att öppna dörrarna till en av Netflix mest uppskattade tillgångar: vårt rekommendationssystem. I del 1 kommer vi att relatera Netflixpriset till den bredare rekommendationsutmaningen, beskriva de externa komponenterna i vår personaliserade tjänst och belysa hur vår uppgift har utvecklats med verksamheten. I del 2 kommer vi att beskriva några av de data och modeller som vi använder och diskutera vårt tillvägagångssätt för algoritmisk innovation som kombinerar offline-experimentering av maskininlärning med online AB-testning. Ha det så trevligt… och kom ihåg att vi alltid letar efter fler stjärntalanger till vårt fantastiska team, så ta en titt på vår jobbsida.

År 2006 tillkännagav vi Netflix Prize, en tävling om maskininlärning och datautvinning för att förutsäga filmbetyg. Vi erbjöd 1 miljon dollar till den som förbättrade noggrannheten hos vårt befintliga system Cinematch med 10 %. Vi genomförde denna tävling för att hitta nya sätt att förbättra de rekommendationer vi ger våra medlemmar, vilket är en viktig del av vår verksamhet. Vi var dock tvungna att komma på en proxyfråga som var lättare att utvärdera och kvantifiera: RMSE (root mean squared error) för det förutspådda betyget. Tävlingen var igång för att slå vårt RMSE på 0,9525 med målet att minska det till 0,8572 eller mindre.

Ett år in i tävlingen vann Korbell-teamet det första Progress Prize med en förbättring på 8,43 %. De rapporterade mer än 2 000 timmars arbete för att komma fram till den slutliga kombinationen av 107 algoritmer som gav dem detta pris. Och de gav oss källkoden. Vi tittade på de två underliggande algoritmerna med bäst prestanda i ensemblen: Matrixfaktorisering (som i allmänhet kallas SVD, Singular Value Decomposition) och Restricted Boltzmann Machines (RBM). SVD i sig själv gav en RMSE på 0,8914, medan RBM i sig själv gav en konkurrenskraftig men något sämre RMSE på 0,8990. En linjär blandning av dessa två reducerade felet till 0,88. För att kunna använda dessa algoritmer var vi tvungna att arbeta för att övervinna vissa begränsningar, t.ex. att de byggdes för att hantera 100 miljoner betyg, i stället för de mer än 5 miljarder som vi har, och att de inte byggdes för att anpassas när medlemmarna lägger till fler betyg. Men när vi väl övervann dessa utmaningar satte vi de två algoritmerna i produktion, där de fortfarande används som en del av vår rekommendationsmotor.

Om du följde pristävlingen kanske du undrar vad som hände med den slutliga Grand Prize-ensemblen som vann 1 miljon dollar två år senare. Detta är en verkligt imponerande sammanställning och kulmen på flera års arbete, där hundratals prediktiva modeller blandas för att slutligen korsa mållinjen. Vi utvärderade några av de nya metoderna offline, men de ytterligare noggrannhetsvinster som vi uppmätte verkade inte motivera den tekniska insats som krävdes för att föra in dem i en produktionsmiljö. Dessutom hade vårt fokus på att förbättra Netflix personalisering vid det laget skiftat till nästa nivå. I resten av det här inlägget kommer vi att förklara hur och varför det har skiftat.

Från amerikanska DVD-skivor till global streaming

En av anledningarna till att vårt fokus i rekommendationsalgoritmerna har ändrats är att Netflix som helhet har förändrats dramatiskt under de senaste åren. Netflix lanserade en tjänst för omedelbar streaming 2007, ett år efter det att Netflixpriset började. Streaming har inte bara förändrat hur våra medlemmar interagerar med tjänsten, utan också vilken typ av data som finns tillgänglig att använda i våra algoritmer. När det gäller DVD:er är vårt mål att hjälpa människor att fylla sin kö med titlar som de ska få med posten under de kommande dagarna och veckorna; urvalet ligger långt ifrån visningen, människor väljer noggrant eftersom det tar mer än en dag att byta ut en DVD mot en annan, och vi får ingen feedback under visningen. När det gäller streaming letar medlemmarna efter något bra att titta på just nu; de kan prova några videor innan de bestämmer sig för en, de kan konsumera flera videor i en och samma session, och vi kan observera tittarstatistik, t.ex. om en video har tittats på helt eller delvis.

En annan stor förändring var övergången från en enda webbplats till hundratals enheter. Integrationen med Roku-spelaren och Xbox tillkännagavs 2008, två år efter Netflix konkurrens. Bara ett år senare kom Netflix streaming in i iPhone. Nu finns den tillgänglig på en mängd olika enheter som sträcker sig från en myriad av Android-enheter till den senaste AppleTV.

För två år sedan blev vi internationella med lanseringen i Kanada. Under 2011 lade vi till 43 latinamerikanska länder och territorier till listan. Och alldeles nyligen lanserades vi i Storbritannien och Irland. I dag har Netflix mer än 23 miljoner abonnenter i 47 länder. Dessa abonnenter streamade 2 miljarder timmar från hundratals olika enheter under det sista kvartalet 2011. Varje dag lägger de till 2 miljoner filmer och tv-serier i kön och genererar 4 miljoner betyg.

Vi har anpassat våra personaliseringsalgoritmer till detta nya scenario på ett sådant sätt att 75 % av det som folk tittar på nu kommer från någon form av rekommendation. Vi nådde den här punkten genom att kontinuerligt optimera medlemsupplevelsen och har uppmätt betydande vinster i medlemstillfredsställelse varje gång vi förbättrade personaliseringen för våra medlemmar. Låt oss nu gå igenom några av de tekniker och tillvägagångssätt som vi använder för att producera dessa rekommendationer.

Allt är en rekommendation

Vi har genom åren upptäckt att det finns ett enormt värde för våra prenumeranter i att införliva rekommendationer för att personalisera så mycket av Netflix som möjligt. Personaliseringen börjar på vår startsida, som består av grupper av videor arrangerade i horisontella rader. Varje rad har en titel som förmedlar det avsedda meningsfulla sambandet mellan videorna i den gruppen. Det mesta av vår personalisering bygger på hur vi väljer rader, hur vi bestämmer vilka objekt som ska ingå i dem och i vilken ordning dessa objekt ska placeras.

Tag som ett första exempel raden Topp 10: detta är vår bästa gissning av de tio titlar som du troligen kommer att tycka om. När vi säger ”du” menar vi förstås alla i ditt hushåll. Det är viktigt att komma ihåg att Netflix personalisering är avsedd att hantera ett hushåll som sannolikt har olika personer med olika smak. Det är därför som det är troligt att du när du ser din Top10 kommer att upptäcka objekt för pappa, mamma, barnen eller hela familjen. Även för ett hushåll med en enda person vill vi tilltala ditt utbud av intressen och humör. För att uppnå detta optimerar vi i många delar av vårt system inte bara för noggrannhet utan också för mångfald.

Lämna ett svar

Din e-postadress kommer inte publiceras.