Netflix-utmaningen på 1 miljon dollar

Tidigare i veckan meddelade Netflix, onlinefilmuthyrningstjänsten att den kommer att prisa 1 miljon dollar till alla som kan komma på en algoritm som förbättrar noggrannheten i sin filmrekommendationstjänst.





Netflix stjärnklassificeringssystem hjälper till att fastställa personliga filmrekommendationer. Nu söker företaget externa utvecklare för att förbättra dessa rekommendationer.

Genom att göra det sänder företaget en uppmaning till forskare som är specialiserade på maskininlärning – den typ av artificiell intelligens som används för att bygga system som rekommenderar musik, böcker och filmer. Den deltagare som kan öka noggrannheten i Netflix rekommendationssystem, som kallas Cinematch, med 10 procent till 2011 vinner priset.

Rekommendationssystem som de som används av Netflix, Amazon och andra webbåterförsäljare är baserade på principen att om två personer gillar samma produkt, kommer de sannolikt att ha andra favoriter gemensamma också.



Men bakom denna enkla premiss finns en komplex algoritm som innehåller miljontals användarbetyg, tiotusentals objekt och ständigt föränderliga relationer mellan användarpreferenser.

För att hantera denna komplexitet tränas algoritmer för rekommendationssystem på enorma datamängder. En datauppsättning som används i Netflixs system innehåller stjärnorna – ett till fem – som Netflix-kunder tilldelar filmer. Med hjälp av denna initiala information kan bra algoritmer förutsäga framtida betyg och kan därför föreslå andra filmer som en individ kan gilla.

Eftersom tillgång till en sådan datauppsättning är avgörande för att förbättra kvaliteten på sina rekommendationssystem, släppte företaget också 100 miljoner rekommendationer – utan all personlig identifieringsinformation – enligt Jim Bennett, vice VD för rekommendationssystem på Netflix.



Vi pratade med Bennett den här veckan om hur rekommendationssystem fungerar – och utmaningarna med att bygga ett bättre.

Teknikrecension: Innan du bygger ett bättre rekommendationssystem skulle det vara användbart att förstå ditt nuvarande tillvägagångssätt. Hur fungerar Cinematch?

Jim Bennett: Först samlar du 100 miljoner användarbetyg för cirka 18 000 filmer. Ta två valfria filmer och hitta personerna som har betygsatt dem båda. Titta sedan för att se om personerna som betygsätter en av filmerna högt betygsätter den andra högt, om de gillade den ena och inte den andra, eller om de inte gillade någon av filmerna. Baserat på deras betyg ser Cinematch om det finns en korrelation mellan dessa personer. Gör nu detta för alla möjliga par av 65 000 filmer.



TR: Så Cinematch skulle rekommendera filmer till mig baserat på utvärderingar av personer som betygsatt filmer på det sätt som jag gjorde. Fungerar den metoden för alla filmer på Netflix?

J B: Många av de riktigt obskyra skivorna, till exempel DVD-skivorna How to Mow a Lawn, har inte särskilt många betyg och den här metoden fungerar inte lika bra. För filmer med ett stort antal betyg gör du det mycket bra. Men för att få det att fungera måste det finnas mycket datajustering eftersom människor ibland kan ha intressanta betygsmönster.

TR: Som vad?



J B: Till exempel är det många som betygsätter en film med bara en stjärna eller fem stjärnor. Och det finns vissa människor som bara betygsätter allt med tre stjärnor. Det du letar efter är en intressant spridning av åsikter eftersom du försöker fånga samband. Det är kärnan i motorn.

TR: Hur mäter du kvantitativt noggrannheten i ditt system?

J B: Vi tränade Cinematch på 100 miljoner betyg och bad den att förutsäga vad de andra 3 miljonerna skulle bli. Vi jämförde vårt med de faktiska svaren. Det gör vi varje dag. Vi får cirka 2 miljoner betyg per dag och vi spårar de dagliga fluktuationerna i systemet. Vi förväntar oss att mäta bidrag till tävlingen [på samma sätt]. Den faktiska prisdatauppsättningen är 103 miljoner betyg, men vi släppte bara 100 miljoner av dem.

TR: För att vinna priset på 1 miljon dollar måste en ny algoritm förbättra rekommendationernas noggrannhet med 10 procent jämfört med Cinematch. Du belönar också ett framstegspris på $50 000 varje år för den algoritm som visar mest förbättring jämfört med föregående års bästa algoritm, med minst 1 procent. Vad kommer dessa procentuella förbättringar att betyda för en Netflix-kund?

J B: Om du går in på webbplatsen och betygsätter 100 filmer åt oss, är de röda stjärnorna som visas under varje film anpassade för dig. Vi använder dessa betyg för att justera förutsägelsen bort från den genomsnittliga rekommendationen, enligt din smak. En skillnad på tre procent, till exempel, kan göra en skillnad på en fjärdedels stjärna. Vi har miljontals människor som betygsätter miljontals DVD-skivor, och den kvartsstjärniga skillnaden hjälper oss att sortera listan. Den individuella filmrekommendationen kanske inte blir så mycket bättre, men totalt sett är uppsättningen av rekommenderade filmer väldigt olika. Flytta ett slagskepp lite, och det gör en enorm skillnad.

TR: Varför är rekommendationssystem så svåra att förbättra?

J B: En av anledningarna är att det inte finns några datauppsättningar. Många av maskininlärningsapplikationerna kräver ganska omfattande datauppsättningar som lätt har miljontals datapunkter. Det finns många olika tillvägagångssätt för att lösa problemet, men de behöver alla stora datamängder. Och som med många datauppsättningar, när vi väl har tillämpat teknikerna på dessa datauppsättningar, finns det ingen plats att ta vägen.

TR: Så du letar efter en algoritm som tacklar problemet på ett helt annat sätt än Cinematch?

J B: Korrekt. Så vitt vi vet finns det många bra idéer ute på fältet. Vi kan helt enkelt inte testa dem alla. Vi vet att det finns människor som verkligen är på topp i litteraturen som känner till detaljerna i [rekommendationssystem] och vi skulle verkligen vilja veta vilka som skulle vara bättre.

TR: Vilka är några tillvägagångssätt, diskuterade i litteraturen, som skulle kunna fungera, men som inte har testats med filmrekommendationer än?

J B: Det är svårt att säga. Det fanns en artikel i Vetenskap för några månader sedan [28 juli 2006] som använde en intressant kombination av två typer av neurala nätverk [en beräkningsmetod som sorterar data som liknar den mänskliga hjärnan]. Det ena neurala nätverket övervakar maskininlärningen och det andra styr den inlärningen. På Netflix tittar vi på korrelationer mellan betyg, och det är en linjär modell. All kunskap kan inte representeras av en linjär kombination av egenskaper. Denna speciella modell i Vetenskap använder ett icke-linjärt tillvägagångssätt. Jag tror att tekniken kan vara ganska bra.

TR: Finns det några andra pressande tekniska utmaningar på Netflix som kan lösas genom att erbjuda ett pris?

J B: Jag skulle inte vilja spekulera i fler tävlingar. Finns det andra tekniska utmaningar? Absolut. Utöver systemutmaningen att hålla rekommendationsmotorerna igång med en ökande kundbas, har vi också ett stort antal utmaningar inom företaget – som att försöka skicka två miljoner skivor om dagen till människor. Och det finns intressanta utmaningar framför oss när vi gör oss redo för nedladdningsvärlden [där människor kan ladda ner filmer via Internet]. Företaget är fyllt av enorma utmaningar.

Dölj