Rekommendationssystem. med fördjupning på collaborative filtering

Relevanta dokument
LINKÖPINGS UNIVERSITET. Rekommendationssystem

Colloborative filtering ett rekommendationssystem

Rekommendationer på nätet

TiVo ett rekommendationssystem. TiVo ett rekommendationssystem

Institutionen för datavetenskap Department of Computer and Information Science

Lab6: Social Navigering på Amazon.com. Inledning. Vad är Social navigering?

SÅ BLIR DIN NETFLIX- UPPLEVELSE BÄTTRE. En litteraturstudie om Netflixs rekommendationssystem

AUTOMATISKA REKOMMENDATIONER I BUTIK. Examensarbete Systemarkitekturutbildningen. Kristoffer Johansson Tobias Savinainen VT 2015:KSAI01

En praktisk implementation av ett rekommendationssystem

Effekten av varierande datamängd vid filmbetygsprediktion

Personifierad Netflix

VILKET REKOMMENDATIONSSYTEM SKA EN INTERAKTIV MEDIETJÄNST VÄLJA?

Dryck till maten. - ett nyttobaserat rekommendationssystem. Sarah Albertsson

COLLABORATIVE FILTERING

Ansiktsigenkänning med MATLAB

Sociala medier och Flickr som marknadsföring Essä i kursen Digitala Distributionsformer Högskolan Väst Av: Nicklas Johansson

Betygskriterier för examensarbete/självständigt arbete

Statistisk mönsterigenkänning

Handledare: Mikael Goldmann

Verklighetsnära undervisning

Så gör du din kund nöjd och lojal - och får högre lönsamhet. Tobias Thalbäck Om mätbara effekter av kundnöjdhet

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

Kursplanering Objektorienterad programmering

Ansiktsigenkänning. Anna Ericsson Linköpings Universitet Linköping

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Klustring av svenska tidningsartiklar

Objective:: Linjärt beroende och oberoende version 1.0

e-barometern [konsument] mars 2017 av Carin Blom, Detaljhandelsanalytiker PostNord Sverige

Virtuella assistenter för bättre kundupplevelser

Systems for automatic recommendations of news and events

2.1 Mikromodul: stokastiska processer

Seminarium: Att skriva en akademisk uppsats. LT200X Stefan Stenbom

FRÅGEFORMULÄR 0M STUDIEVANOR

Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén

TDP Regler

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

TDDD92 Artificiell intelligens -- projekt

Case-based resoning. och dess användning inom sjukvården. Linköpings universitet Artificiell intelligens II 729G11 HT 2011

Datorlaboration :: 1 Problembeskrivning ::

Skriv ditt sökord i sökrutan och markera rutan för att föreslå ämnesord (Suggest Subject Terms).

Föreläsning 7. Felrättande koder

Matematik EXTRAUPPGIFTER FÖR SKOLÅR 7-9

Kartläggning av central prissättning hos företagen i urvalet för KPI

BTJ PRESENTERAR NYFIKET. Det nya sättet att låna film.

2. Vad ska jag göra för att garanterat få återbäring, när jag handlar via Lyoness?

October 9, Innehållsregister

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Ontologier. Cassandra Svensson

Användargenererat innehåll i Libris?? Underlag till Expertgruppen för Libris möte


En typisk medianmorot

1 Vektorer i koordinatsystem

Det nya kommunikationslandskapet Var finns ni? Här finns konsumenten! Anders Goliger Welcom

Verklighetsnära undervisning

Giltig legitimation/pass är obligatoriskt att ha med sig. Tentamensvakt kontrollerar detta. Tentamensresultaten anslås med hjälp av kodnummer.

TEM Projekt Transformmetoder

Lösningar till utvalda uppgifter i kapitel 1

DATORÖVNING 3: MER OM STATISTISK INFERENS.

Anders Lunander, Handelshögskolan vid Örebro universitet (huvudansvarig) Sofia Lundberg, Handelshögskolan vid Umeå universitet

1 Positivt definita och positivt semidefinita matriser

Bör man legalisera nerladdning av musik?

Adaptiva system Metoder och processer

Statistiska analyser C2 Bivariat analys. Wieland Wermke

Gymnasiearbetets titel (huvudrubrik)

Korrelation och autokorrelation

Tentamen: Programutveckling ht 2015

Vektorgeometri för gymnasister

Anvisningar till rapporter i psykologi på B-nivå

TAMS79: Föreläsning 10 Markovkedjor

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

Föreläsning 4. Kap 5,1-5,3

Matematikundervisning med digitala verktyg* Översikt över modulstrukturen

UPPGIFT 1 WILL ROGERS FENOMEN

Tabell 1: Programmen i Västernorrlands län som ger högst inkomst


Grafisk visualisering av en spårbarhetslösning

1 Ortogonalitet. 1.1 Skalär produkt. Man kan tala om vinkel mellan vektorer.

2 Dataanalys och beskrivande statistik

{ 1, om i = j, e i e j = 0, om i j.

1. Klicka på Registrera dig-knappen/länken för att komma till sign up-sidan.

En värld på nätet Facebook ht 2010

Religionsvetenskap II Delkurs 2: Teori och metod

FÖRMÅGAN ATT UNDERSÖKA

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Rapport (1,5 HP) Lunds Universitet HT15

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Kursplan. Kursens benämning: Militärteknik, Metod och självständigt arbete. Engelsk benämning: Military-Technology, Methods and Thesis

Föreläsning 9 Innehåll. Söndra och härska. Fibonaccitalen. Söndra och härska. Divide and conquer teknik för att konstruera rekursiva algoritmer.

Broschyr som skickas ut till alla Sveriges niondeklassare där olika program och gymnasieskolor lyfts fram som goda exempel.

Upprepade mönster (fortsättning från del 1)

FÖA110 Informationssökningsövningar facit

Betyg i årskurs 6. Grundskolans läroplan Kursplan i ämnet engelska

Informationssökning - att söka och finna vetenskapliga artiklar! Linköpings Universitetsbibliotek

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

En nybörjarkurs i kritiskt tänkande

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

Rekommendationssystem för livestreamingtjänster

Föreläsning 5: Grafer Del 1

Parallellism i NVIDIAs Fermi GPU

Kapitel 4: SAMBANDET MELLAN VARIABLER: REGRESSIONSLINJEN

Transkript:

Rekommendationssystem med fördjupning på collaborative filtering, majsc331 870325-1929 729G11 Artificiell Intelligens II Linköpings Universitet HT 2009

Innehållsförteckning Inledning... 1 Bakgrund... 2 Collaborative Filtering... 3 Amazons rekommendationer... 5 Diskussion... 7 Referenser... 8 Bild- och figurförtecking: Bild 1... 1 Bild 2... 4 Figur 1... 3 Figur 2... 3 Figur 3... 6

Inledning När allt mer av dagens handel och informationssökning sker via Internet medför det att mängden information och varor vi har tillgång till ökar. Då får vi istället problem med information overload det finns alldeles för mycket att välja på och det blir bara svårare att göra informerade val. En vanlig lösning är att ta hjälp av vänner med liknande smak, läsa recensioner, och utgå från listor med bästsäljare. Många onlinebutiker har därför börjat tillämpa rekommendationssystem för att göra det stora utbudet mer överskådligt och hjälpa kunden att hitta varor som kan vara intressanta. Rekommendationssystem är en teknik som används av många företag, och det är speciellt vanligt hos onlinebutiker som har ett stort sortiment och är extra beroende av möjligheten att kunna sålla bland varor. I denna rapport beskrivs kort vilka typer av rekommendationssystem som finns. Sedan följer en djupare beskrivning av en av dessa, collaborative filtering, samt hur denna implementeras hos onlinebutiken Amazon.com. Bild 1: En av Amazons rekommendationer (Amazon.com, 2009) Sida 1

Bakgrund När rekommendationssystem beskrivs på engelska används ofta ordet items, som kan översättas dessa, eftersom de har en tydligare koppling till den till den domän jag har studerat, det vill säga onlineshopping. Rekommendationssystem använder information från användaren för att försöka förutspå vad denne kommer att tycka om en viss vara, och sedan bestämma om den ska rekommenderas till användaren eller ej. Det finns många olika typer av rekommendationssystem, samt hybrider av dessa. Content-based, eller innehållsbaserade rekommendationssystem jämför innehållet och undersöker vad användaren har tyckt om liknande varor tidigare. Ett exempel är filmer, där ett sådant system kan använda genre, skådespelare, regissör, eller andra egenskaper och jämföra med vad användaren tidigare har tyckt om dessa egenskaper. Demografiska system jämför olika typer av användare utifrån egenskaper så som ålder, inkomst, födelseland, utbildning, etc. (Burke, 2002) Amazon.com Amazon.com är en onlinebutik som startades i USA 1995. Den finns nu över hela världen och har flera miljoner produkter och över 29 miljoner användare i vitt skilda kategorier, varför det blir extra viktigt att hjälpa kunden att hitta rätt. De har ett rekommendationssystem som baseras på collaborative filtering. När en användare registrerar sig så uppmanas denne att fylla i fakta om sig själv för att förbättra rekommendationerna, samt att betygsätta eller markera att man redan äger olika varor tills rekommendationerna reflekterar de preferenser kunden har. Betyget sätts på en femgradig skala där fem är bäst. När en användare loggar in kan denne gå till sin personliga rekommendationssida, eller söka efter olika varor och då bli rekommenderad varor som ofta köps tillsammans med den aktuella varan. Användaren kan också se exakt vad som orsakade varje rekommendation, det vill säga vilken produkt som fick systemet att tro att användaren skulle tycka om den rekommenderade varan. Där kan användaren ange om produkten inte ska användas för att generera rekommendationer, exempelvis om den var en gåva eller liknande. (Linden et. al., 2003;; Amazon.com, 2009) Sida 2

Collaborative filtering Collaborative filtering är det vanligaste systemet som används för rekommendationer och förmodligen det mest välutvecklade (Burke, 2002). Det räknar ut korrelationen mellan en användares tidigare betygsättningar och andra användares betygsättningar. En användares profil består av en lista med varor och det betyg som varje vara har fått, antingen binära (gillar/ogillar) eller ett specifikt värde, till exempel en siffra mellan ett och tio. Korrelationen mellan användare räknas ut med Pearsons r. (Burke, 2002: Breese et. al. 1998) Pearsons korrelationskoefficient kan ge värden mellan -1 och 1, där -1 anger en starkt negativ korrelation, medan 1 är en starkt positiv. Värden nära noll anger en svag korrelation. För att förutspå vad en användare, x, ska tycka om vara i, räknar man ut korrelationen mellan x och varje annan användare, y, för att ge y en. R x,d är alltså betyget som användare x har satt på item d, och R x är medelvärdet på alla betyg som användare x har satt. Om x och y har betygsatt alla varor lika så skulle deras korrelation vara 1,0, och y får då vikten 1,0. (Pazzani, 1999) Figur 1: Pearsons r (Pazzani, 1999) Sedan räknas det viktade medelvärdet (X w ) ut genom att multiplicera korrelationen mellan användare x och varje annan användare y med y:s betygsättning av vara i, och sedan ta summan av alla produkter och dividera med summan av alla vikter, vilket motsvaras w i figur 2. Anledningen till att inte bara välja ut den användare som är mest lik x och anta att x kommer att tycka likadant är att det nu är möjligt att dra nytta även av de användare som har en stark negativ korrelation med x. Figur 2: Viktat medelvärde (http://www.cs.kau.se/stat/staa10/vt06lp4/kapitel/kap3.shtml) Sida 3

Fördelar och nackdelar med collaborative filtering Ett problem med collaborative filtering som även återkommer i andra typer av rekommendationssystem är att rekommendationerna ofta blir ganska dåliga för användare som har använt systemet en kortare tid. Eftersom de inte har hunnit betygsätta så många varor så har systemet inte särskilt mycket att bygga rekommendationerna på. Detta kallas för ramp upproblemet. Det är detta problem som Amazon försöker lösa genom att be nya användare betygsätta varor tills rekommendationerna reflekterar användarens smak. (Burke, 2002) Bild 2: Amazons rekommendationssida för nya användare (Amazon.com 2009). Samma sak gäller för nya varor: om en vara inte har betygsatts så många gånger så har den mindre chans att bli rekommenderad. Gråa får (gray sheep på engelska) är ett annat problem som förekommer i rekommendationssystem. Det innebär att en användare har preferenser som inte korrelerar med någon annan användare, och vars uppfattning om en vara blir svår att förutspå. Generellt sett blir alla rekommendationssystem bättre ju mer data systemet har att gå efter. Dock kan användare tröttna på att få dåliga rekommendationer på grund av för lite bakgrundsdata och sluta använda systemet. (Burke, 2002) Sida 4

Amazons rekommendationer Problemet med Amazon är att de har en enormt stort datamängd att arbeta med vilket gör att collaborative filtering på det traditionella sättet inte fungerar. Istället använder de en metod som kallas item-to-item collaborative filtering, som matchar de varor en kund har köpt med andra liknande varor. (Linden et. al. 2003) Algoritmen: For each item in product catalog, I1: For each customer C who purchased I1: For each item I2 purchased by customer C: Record that a customer purchased I1 and I2 For each item I2: Compute the similarity between I1 and I2 För varje vara i katalogen så undersöker algoritmen varje kund som har köpt den varan. Den går igenom alla andra varor som kunden har köpt och räknar ut likheten mellan de två varorna. (Linden et. al. 2003) Likhetsberäkning Likhet kan räknas ut på olika sätt, ett exempel är Pearsons r som förklaras ovan. Amazon använder sig av en metod som mäter cosinus av vinkeln mellan två vektorer. En vektor är en lista, som representerar en vara. Exempel: Vara1 Kund1 Kund2 Kund3 Kund4 Det vill säga, Vara1 har köpts av fyra kunder, och har alltså vektorn [Kund1, Kund2, Kund3, Kund4]. Har man flera vektorer kan man då jämföra dessa. Om en kund sedan köper Vara1, och Vara1 har en hög korrelation med en annan vara, till exempel Vara5, så rekommenderas Vara5 till kunden. Sida 5

Exempel på flera vektorer: Vara1 Kund1 Kund2 Kund3 Kund4 Vara2 Kund2 Kund3 Kund5 Kund6 Vara3 Kund1 Kund2 Kund5 Kund6 Likheten är alltså som följer: Vara1 & Vara2: 2 kunder gemensamt Vara1 & Vara3: 2 kunder gemensamt Vara2 & Vara3: 3 kunder gemensamt Alltså är Vara2 och Vara3 mer lika varandra än de andra varorna. Amazons datamängd är naturligtvis större än i exemplet ovan, så för att mäta vilka vektorer som är lika varandra används cosinus av vinkeln mellan två vektorer. (Linden et. al. 2003) Figur 3: Cosinus av vinkeln mellan vektorer (Linden et. al. 2003) Detta är dock inget jag kommer att gå igenom mer utförligt, för vidare läsning se Garcia (2006). Item-to-item och user-to-user: en jämförelse Är datamängden väldigt stor måste de tyngsta uträkningarna utföras offline. Det är anledningen till att user-to-user collaborative filtering är en opraktisk metod för företag som Amazon, eftersom den metoden måste utföra de flesta beräkningarna online. Item-to-item kan skapa likhetstabeller offline, och de enda beräkningarna som sker online är att leta upp liknande varor ur tabellen. Detta är en mycket lättare uträkning eftersom algoritmen bara måste ta hänsyn till de varor som en specifik kund har köpt eller betygsatt, istället för alla varor i katalogen eller alla kunder som har ett konto hos Amazon. Uträkningarna som sker offline har dock en hög tidskomplexitet, O(N 2 M) i värsta tänkbara fallet, där N är alla varor i katalogen och M är antalet element i en vektor, det vill säga antalet kunder som har köpt en vara. Dock har varje vara inte köpts av särskilt många kunder, varför den egentliga tidskomplexiteten ligger närmare O(NM). (Linden et. al., 2003) Sida 6

Diskussion Alla rekommendationssystem har problem med att ge bra rekommendationer till nya kunder, så även Amazon. När jag provar att betygsätta några varor märker jag snabbt att de varor systemet tror att jag skulle tycka om handlar om exakt samma saker som de varor jag betygsatt. Om jag sätter ett högt betyg på en italiensk kokbok så handlar alla andra rekommendationer om italienska kokböcker. Har jag uppgett att jag tycker om Amerikansk politik så rekommenderas jag böcker som handlar om det ämnet. Det liknar i mina ögon mer ett innehållsbaserat system, det vill säga content-based, där systemet rekommenderar varor baserat på en särskild egenskap, till exempel vilken genre de tillhör. Huruvida detta blir bättre med tiden har jag inte undersökt eftersom det tar ganska lång tid att betygsätta alla varor som jag anser reflekterar min personliga smak. Dock presterar de flesta rekommendationssystem dåligt i början så ett rimligt antagande borde vara att rekommendationerna blir bättre ju mer systemet används. Melville et. al. (2002) har utvärderat en hybrid av collaborative filtering och content-based rekommendationssystem som enligt testerna presterar bättre än de två typerna var för sig vid ramp up-problemet, fortsatt forskning får utvisa om detta kan vara en lösning även för Amazon. Idag är det ganska vanligt att rekommendationssystem används, och jag tror att detta område kommer att växa och bli nästintill oumbärligt i framtiden. När antalet tillgängliga produkter ökar blir det omöjligt att undersöka hela sortimentet. Topplistor är ett sätt att sålla ut produkter, men det finns inget som säger att det som finns på topplistan är bättre än annat. Att produkter på topplistan säljer mer beror helt enkelt på att kunden hittar dem, till skillnad från produkter som inte har så höga försäljningssiffror. Min teori är att det visserligen kan vara en viss kvalitetsskillnad mellan storsäljare och andra varor, men att en viktig komponent i en produkts framgång är marknadsföring. Att bara välja bland storsäljarna kan göra att man missar guldkorn som inte haft en lika stor marknadsföringsbudget, men att hitta de guldkornen är lättare sagt än gjort. Då kan ett rekommendationssystem göra stor skillnad. Dock kan det också vara hämmande att bara undersöka varor man blir rekommenderad, till exempel kan tycke och smak förändras över tid. Den i mina ögon bästa strategin för att hitta de varor man vill ha är att dels använda sig av de rekommendationer man får av systemet men också följa sitt eget huvud och titta på varor som verkar intressanta oberoende av vad systemet tror att man tycker om. Sida 7

Referenser Tryckta källor: Burke, Robin (2002) Hybrid Recommender Systems: Survey and Experiments. User Modeling and User-Adapted Interaction, vol 12, 331-370 Linden, Greg;; Smith, Brent;; York, Jeremy (2003). Amazon.com Recommendations: Item-to-Item Collaborative Filtering. IEEE Internet Computing, Januari-februari, 76-80. Melville, Prem;; Mooney, Raymond J.;; Nagarajan, Ramadass (2002) Content-Boosted Collaborative Filtering för Improved Recommendations, Proceedings of the Eighteenth National Conference on Artificial Intelligence (AAAI-2002), 187-192 Pazzani, Michael J. (1999) A Framework for Collaborative, Content-Based and Demographic Filtering. Artificial Intelligence Review, vol 13, 393-408 Internetkällor: Amazon.com: Recommendations http://www.amazon.com/gp/help/customer/display.html?ie=utf8&nodeid=13316081 Hämtad 2009-10-08 Senast uppdaterad: Ej angivet Breese, John S;; Heckerman, David;; Kadie, Carl (1998) Empirical Analysis of Predictive Algorithms for Collaborative Filtering. Technical Report MSR-TR-98-12, Microsoft Research Hämtad 2009-10-08 från http://research.microsoft.com/pubs/69656/tr-98-12.pdf Senast uppdaterad: Ej angivet Viktat medelvärde: http://www.cs.kau.se/stat/staa10/vt06lp4/kapitel/kap3.shtml Hämtad 2009-10-08 Senast uppdaterad: Ej angivet Sida 8

Lästips: Garcia, E (2006) Cosine Similarity and Term Weight Tutorial. An Information Retrieval Tutorial on Cosine Similarity Measures, Dot Products and Term Weight Calculations. Hämtad 2009-10-08 från http://www.miislita.com/information-retrieval-tutorial/cosinesimilarity-tutorial.html Senast uppdaterad: 2006-10-26 Sida 9