Linköpings universitet Personifierad Netflix Lisa Rönnqvist 2016-08-24
Sammanfattning
INNEHÅLLSFÖRTECKNING 1. Inledning... 1 1.1 Bakgrund... 1 1.2 Syfte... 2 2. Netflix... Fel! Bokmärket är inte definierat. 2.1 Utmaningar... 2 2.2 Rekommendationssystem... 3 2.3 Kontextuella banditer... 3 2.4 Mer ingående på kontextuella banditer... 4 2.5 Epsilon-greedy algoritmen... 4
1. INLEDNING 1.1. Bakgrund Den tidiga versionen av Netflix var inte en streaming-produkt som det är idag. Då fick användare av Netflix lämna beställningar på filmer, varav Netflix sedan skickade hem DVDfilmerna med post. I denna utformning av Netflix var de beroende av att användarna recenserade filmerna med hjälp av stjärnor. Netflix utvecklade då en algoritm som förutsäga hur användarna recenserade en film, vilken grundades på hur de tidigare recenserat filmer. Teknik i allmänhet har sedan dess utvecklats och likaså har Netflix även utvecklats. Idag är Netflix en streamingtjänst som använder sig av rekommendationssystem för att kunna erbjuda användaren en så bra upplevelse som möjligt (Gomez-Uribe & Hunt, 2015). Efter en användare loggat in på Netflix möts hen av en personifierad startsida. Netflix nuvarande design består av flera rader där användaren kan välja att bläddra horisontellt eller vertikalt. Raderna innehåller olika typer av filmer och kan vara baserat på genre, metadata som till exempel utgivningsår eller information från användare. Den primära uppgiften med den personifierade startsidan är att ge användaren ett enkelt tillvägagångssätt för att hitta en film eller serie som de kanske skulle gilla. Eftersom Netflix har väldigt många filmer och serier kan de inte visa allt innehåll på startsidan. För att kunna visa det innehåll som är mest relevant till användaren använder sig Netflix av algoritmer. En viktig aspekt är att Netflix inte bara visar innehåll som är relevant till användaren, utan startsidan måste också innehålla en mångfald så att användare kan hitta filmer eller serier i en annan kategori än de vanligtvis kollar på (Alvino & Basilico, 2015). De rekommendationssystem som Netflix använder sig av bygger bland annat på information om vad en användare kollar på, hur de kollar och var på Netflix användaren hittade filmen/serien. Netflix har även olika bilder, också benämnt konstverk, på en och samma serie. Dessa bilder används bland annat som en ikon tillsammans med filmen/seriens namn. Den bild som används för en och samma film/serie behöver inte vara densamma som för en annan användare, utan även i denna aspekt används algoritmer för att skapa en mer personifierad upplevelse. Detta används också för att en användare ska bli lockad till att se en film/serie (Chandrashekar, Amat, Basilico, & Jebara, 2017). 1
1.2. Syfte Syftet med denna rapport är att undersöka hur Netflix använder sig av olika typer av rekommendationssystem för att skapa en så personlig startsida som möjligt. 2. PERSONIFIERING AV BILDER Som tidigare nämnt i bakgrund använder sig Netflix av algoritmer som bestämmer vilken bild som ska visas som en ikon för en film/serie. Detta kan bland annat baseras på vilken genre en användare kollar mest på eller på en skådespelare. I figur 1 visas två exempel på hur en film kan representeras av två olika bilder och därav personifieras för att tilltala användaren. Den övre bilden är en användare som kollar mycket på romantiska komedier och den nedre bilden är en användare som tidigare kollat på komedier (Chandrashekar et al., 2017). Figur 1. Personifiering av bild. 2.1. Utmaningar Utmaningar som Netflix stod inför när de skulle börja personifiera bilderna beroende på användaren var dels att i tidigare rekommendationssystem så behandlades vilka filmer en användare valde eller inte valde att kolla på. Det handlade då om flervalsalternativ, där det tydligt gick att se vad en användare valde. Vid personifieringen av bilder så kunde de bara visa en bild kopplad till en film, vilket gjorde det svårare att förstå om användaren påverkades av vilken bild som representerade filmen. (Chandrashekar et al., 2017) En annan utmaning är om en bild för en film/serie ska bytas ut och i såna fall hur ofta. Att byta bild och speciellt om det sker ofta kan leda till att användare blir förvirrade men det 2
skulle också kunna göra att en användare upptäcker filmen/serien om bilden bytts ut. Det blir också svårare att veta vilken av bilderna som fick användaren att se på filmen/serien, användare kan ha upptäckt filmen/serien tidigare men sedan inte hunnit titta på den utan gjorde det när bilden bytts ut. (Chandrashekar et al., 2017) En utmaning för algoritmen är att den måste kunna hantera när en ny film/serie lanseras och snabbt kunna personifiera den till användare. Eftersom människors tycke utvecklas och förändras måste algoritmen även kunna hantera personliga förändringar över tid. (Chandrashekar et al., 2017) 2.2. Rekommendationssystem Maskininlärning är en stor del av Netflix rekommendationssystem. I de flesta fallen samlas en mängd data ihop. Det är data på hur användare använder Netflix, bland annat vad de kollar på, vilka skådespelare och hur länge de kollar. Sedan kör de en maskininlärnings-algoritm på denna data och efter det testas den nya algoritmen mot den nuvarande genom A/B tester. Testerna utförs på ett antal människor, där grupp A får testa den nuvarande algoritmen och grupp B får testa med den nya algoritmen. Om grupp B har högre engagemang kommer den nya algoritmen då att appliceras till alla. Detta kan dock medföra konsekvenser och en av konsekvenserna är att algoritmen kanske inte funkar lika bra i längden. Detta fenomen kallas för ånger. För att minimera ånger, har Netflix ändrat metod och använder inte längre data maskininlärning utan istället online maskininlärning. (Chandrashekar et al., 2017) 2.3. Kontextuella banditer I det specifika fallet av att personifiera konstverk används kontextuella banditer. Kontextuella banditer är en klass av online inlärningsalgoritmer. Kontextuella banditer räknar snabbt ut det optimala personliga konstverk för en titel för varje medlem och sammanhang. Kontextuella banditer använder sig, som namnet tyder, av kontexten och är designade för att minimera ånger. Utifrån kontexten väljer den sedan en handling och sedan får en belöning. (Chandrashekar et al., 2017) Vid varje iteration, innan en handling väljs, observerar agenten en funktionsvektor, det vill säga kontexten. Utifrån det väljs en handling. Över tid är målet att samla ihop data för att kunna förutsäga vilken handling som ger bäst belöning (Bouneffouf, Rish, Cecchi, & Féraud, 3
2017). En funktionsvektor tar in signaler som används som funktioner, i Netflix fall kan det bland annat vara titlarna användarna har spelat eller filmens genre. (Chandrashekar et al., 2017) Träningsdata för kontextuella banditer erhålles genom en kontrollerad randomisering i den inlärda modellens förutsägelse. Randomiseringssytemet kan variera från enklare till mer avancerade system. Det system som kommer undersökas vidare är ett enkelt system som heter epsilon-greedy. Den data som erhålles från dessa system kallas data-exploration. Samlar ihop information om randomiseringen för att sedan kunna korrigera för en skev selection propensities. Träningsdata innehåller en tupel av medlems-id, titel och bild och huruvida det resulterade i att användaren kollade på filmen. (Chandrashekar et al., 2017) 2.3.1. Mer ingående på kontextuella banditer Definitionen av kontextuell bandit kan se ut så här: För t = {1,, T}. Så är kontexten (xt Î X), där xt tillhör X. Alternativen är (at Î{1,, K}), där at tillhör mängden 1 till K. Belöningen från alternativen är (rt(at) Î [0,1]), där rt(at) tillhör listan [0, 1]. (Beygelzimer & Langford, 2010) 2.3.2. Epsilon-greedy algoritmen För att förstå epsilon-greedy algoritmen måste utforska (eng: exploring) och utnyttja (eng: exploiting) först förklaras. Utforska, är som namnet tyder, att man måste lära nya idéer och utnyttja är att man måste ta hänsyn till tidigare idéer som var bra. Den här algoritmen används för en avvägning mellan utforska och utnyttja. Som namnet tyder är detta en greedy algoritm och det greedy algoritmer gör är att alltid vilja ta det alternativ som är bäst. Epsilon-greedy algoritmen är inte fullt ut en greedy algoritm eftersom den ibland utforskar andra tillgängliga alternativ. Den fungerar så att den väljer vad den ska göra slumpmässigt. Det finns två alternativ som den kan välja mellan, antingen en helt slumpmässig handling eller den handling som ger bästa möjliga utkomma. Vid implementation av epsilon-greedy algoritmen, så är epsilon ett flyttal som berättar frekvensen för när ett alternativ ska utforskas. Exempelvis kan epsilon vara 0.1 och då ska algoritmen utforska de tillgängliga alternativen 10 % av gångerna. Sedan behöver algoritmen också veta hur många gånger som samma alternativ har valts och även de värden på belöningen som fås efter ett alternativ valts. (White, 2012) 4
3. RANKNING En annan typ av personifiering Netflix använder sig av, är att presentera de filmer/serier som en användare mest troligt kommer att uppskatta i början av en lista. Detta görs genom en poängfunktion som ser ut så här: frank: U V R. Den kartlägger användare och video till en poäng. (Ricci, Rokach, & Shapira, 2015) En enkel grund hade varit att placera de mest populära filmerna/serierna i början av listan, eftersom en användare kollar ofta på det många andra kollar på. Men eftersom Netflix vill göra startsidan personlig så fungerar inte detta. En lösning till det hade kunnat vara att använda användarnas egna recensioner och de förutsatta recensionerna. Detta hade dock kunnat leda till filmer som är för nischade. Istället för att använda något av dessa alternativ ensamt, kan man istället kombinera dem. (Ricci et al., 2015) En linjär kombination av popularitet och egna förutsatta recensioner kan istället utgöra ett enkelt poängsystem. Funktionen kan se ut på följande sätt: Frank(u, v) = W1p(v) + W2r(u, v) U representerar användaren, v representerar videon, p(v) är populariteten för videon v och r(u, v) är den förutsatta recensionen för användaren u på videon v. W1 och W2 är vikterna i modellen. För att kunna använda denna funktion för att sortera videos måste först vikterna bestämmas. Detta kan göras genom att välja både positiva och negativa exempel av (användare, video) -par från tidigare data och låta en maskininlärningsalgoritm lära vikterna som optimerar målet. Funktionen ovan kan även refereras till som en viktad hybridmodell (eng: weighted hybrid models) eftersom den använder resultatet från en annan modell som indata. Denna typ av ranking är ett simpelt sätt och det finns mer avancerade rankningsfunktioner. Ett bättre sätt att ranka videos på är att ta hänsyn till andra aspekter, exempelvis metadata. (Ricci et al., 2015) 5
4. AVSLUTNING Inte klart 5. REFERENSER Alvino, C., & Basilico, J. (2015). Learning a Personalized Homepage Netflix TechBlog Medium. Retrieved January 8, 2018, from https://medium.com/netflix-techblog/learninga-personalized-homepage-aa8ec670359a Beygelzimer, A., & Langford, J. (2010). Learning for Contextual Bandits. Retrieved from http://hunch.net/~exploration_learning/main.pdf Bouneffouf, D., Rish, I., Cecchi, G. A., & Féraud, R. (2017). Context attentive bandits: Contextual bandit with restricted context. IJCAI International Joint Conference on Artificial Intelligence, 1468 1475. Chandrashekar, A., Amat, F., Basilico, J., & Jebara, T. (2017). Artwork Personalization at Netflix Netflix TechBlog Medium. Retrieved January 8, 2018, from https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76 Gomez-Uribe, C. A., & Hunt, N. (2015). The Netflix Recommender System. ACM Transactions on Management Information Systems, 6(4), 1 19. https://doi.org/10.1145/2843948 Ricci, F., Rokach, L., & Shapira, B. (2015). Recommender Systems Handbook. Springer- Verlag (Vol. 54). https://doi.org/10.1007/978-0-387-85820-3 White, J. M. (2012). Bandit Algorithms for Website Optimization. O Reilly Media, Inc. Retrieved from https://www.safaribooksonline.com/library/view/bandit-algorithmsfor/9781449341565/index.html 6