Rekommendationer på nätet

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

Rekommendationssystem. med fördjupning på collaborative filtering

LINKÖPINGS UNIVERSITET. Rekommendationssystem

TiVo ett rekommendationssystem. TiVo ett rekommendationssystem

Colloborative filtering ett rekommendationssystem

Personifierad Netflix

En praktisk implementation av ett rekommendationssystem

Effekten av varierande datamängd vid filmbetygsprediktion

TAL OCH RÄKNING HELTAL

Lite om räkning med rationella uttryck, 23/10

Lektionsanteckningar 11-12: Normalfördelningen

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

Att beräkna t i l l v ä x t takter i Excel

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

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

Arbeta med normalfördelningar

DOP-matematik Copyright Tord Persson Övning Bråkräkning. Matematik 1. Uppgift nr 14 Addera 9. Uppgift nr 15 Addera 3. Uppgift nr 16 Subtrahera

Finns det över huvud taget anledning att förvänta sig något speciellt? Finns det en generell fördelning som beskriver en mätning?

Skolprestationer på kommunnivå med hänsyn tagen till socioekonomi

MVE465. Innehållsförteckning

Projektmaterial. Birkagårdens folkhögskola

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

Kort om mätosäkerhet

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

RÖRELSE. - Mätningar och mätinstrument och hur de kan kombineras för att mäta storheter, till exempel fart, tryck och effekt.

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2

på julhandeln

vux GeoGebraexempel 2b/2c Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker

Likvärdighet och rättvisa. Likvärdig bedömning i åk 9. Resultat från några olika undersökningar. Provbetyg Slutbetyg Likvärdig bedömning?

Talsystem Teori. Vad är talsystem? Av Johan Johansson

ÄMNESPROV I MATEMATIK Skolår 9 Delprov B

Smart insatsplan. Bifogat den här artikeln finns en enkel A4 där du kan bokföra insatsplanens spel. Använd den!

Lokala betygskriterier Matematik åk 8

Lösningsförslag till Tillämpad matematisk statistik LMA521, Tentamen

LUNDS UNIVERSITET KURSPLAN INFC25 Ekonomihögskolan Institutionen för Informatik INFC25 7,5. Grundnivå / Basic level G2F. Engelska / English

Givet två naturliga tal a och b, som inte båda två är 0, hur räknar man ut största gemensamma delaren av a och b?

732G71 Statistik B. Föreläsning 8. Bertil Wegmann. IDA, Linköpings universitet. Bertil Wegmann (IDA, LiU) 732G71, Statistik B 1 / 23

En typisk medianmorot

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs A, kapitel 4. b) = 3 1 = 2

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Lösningsförslag till tentamen på. Statistik och kvantitativa undersökningar STA100, 15 hp. Fredagen den 13 e mars 2015

Facit till Testsidor i Mattedetektiverna 3A Lärarboken

TANA19 NUMERISKA METODER

Institutionen för datavetenskap Department of Computer and Information Science

ÖVNINGSUPPGIFTER KAPITEL 3

Datorlaboration :: 1 Problembeskrivning ::

Del A: Begrepp och grundläggande förståelse

Finansinspektionens standard 4.3i Kapitalkrav för operativa risker BILAGA 2

Algebra och Diskret Matematik A (svenska)

1 Mätdata och statistik

Datorsystemteknik DVG A03 Föreläsning 3

Den räta linjens ekvation

Lidköpings kommun myndighetsutövning företag Uppföljning av kommunens service (NKI) Mätperiod ärenden: 2016 (helår)

Lokala mål i matematik

Optimering av depåpositioner för den minimala bensinförbrukningen i öknen

Just another WordPress site

Problembanken - utmanande problem. Gymnasieskolan, modul: Undervisa matematik utifrån problemlösning

Den räta linjens ekvation

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

Gränsvärdesberäkningar i praktiken

STYRANDE SATSER. 1) Skriv ett program som räknar ut hur många år du har till pensionen. Vi räknar här med att man pensioneras det år man fyller 65 år.

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

Behörighet, urval och antagning

Polhemsskolan Gävle TED2

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

Kursen kan ingå i det Systemvetenskapliga kandidatprogrammet eller läsas som fristående kurs.

En vanlig uppgift är att bestämma max resp min för en trigonometrisk funktion och de x- värden för vilka dessa antas.

Bedömningsanvisningar Del II Uppgift 14, bedömningsmatris, (4/4/3) *

En introduktion till och första övning for Excel

Medelvärde, median och standardavvikelse

Statistiska analyser C2 Bivariat analys. Wieland Wermke

Lösningar och kommentarer till uppgifter i 1.1

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

Algoritmer i Treviso-aritmetiken.

Övningsprov 3 inför lilla nationella Ma1 NA18 ht18

5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3

Tidskrifter säljer produkter!

Programmeringsolympiaden 2012 Kvalificering

Funktioner. Räta linjen

Göra lika i båda leden

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs A, kapitel 1

Statistiska samband: regression och korrelation

FRÅGEFORMULÄR 0M STUDIEVANOR

a) A = 3 B = 4 C = 9 D = b) A = 250 B = 500 C = a) Tvåhundrasjuttiotre b) Ettusenfemhundranittio

LUNDS UNIVERSITET KURSPLAN INFN35 Ekonomihögskolan Institutionen för Informatik INFN35

REPETITION 3 A. en femma eller en sexa?

Regiongemensam enkät i förskola och familjedaghem 2017

Andragradsekvationer. + px + q = 0. = 3x 7 7 3x + 7 = 0. q = 7

Känguru 2013 Junior sida 1 / 8 (gymnasiet åk 1) i samarbete med Jan-Anders Salenius vid Brändö gymnasium

med huvudräkning fortsätter du med papper och penna eller miniräknare. Kontrollera sedan dina svar i facit och beräkna poängsumman.

ST-fredag i Biostatistik & Epidemiologi När ska jag använda vilket test?

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

2.1 Minitab-introduktion

Säsongrensning i tidsserier.

UNIVERSITETSRANKNINGEN FRÅN TIMES HIGHER EDUCATION 2016

Användning. Fixed & Random. Centrering. Multilevel Modeling (MLM) Var sak på sin nivå

Uppgift 1 ( Betyg 3 uppgift )

Transkript:

Linköpings universitet Rekommendationer på nätet Kollaborativa rekommendationssystem Cornelia Böhm 2017-01-12

Abstrakt Rekommendationssystem är algoritmer som används för att filtrera ut de produkter som det är troligast att en användare kommer uppskatta. Det här projektet är fokuserat på kollaborativa rekommendationssystem, med fokus på det minnes- och användarbaserade modellerna. Detta innebär att algoritmen placerar användaren i ett område med andra konsumenter vars betygssättningar matchar användarens. Algoritmen baserar sedan rekommendationerna på vad de andra användarna i området har tyckt om för produkter för att presentera så passande produkter som möjligt. Den förutsätter att två användare som tycker likadant om en produkt kommer även dela uppfattning om andra produkter. Algoritmen kan använda sig av olika slags strategier för att göra en sån bra förutsägelse om betygssättningar som möjligt, exempelvis genom att använda sig av medelcentrerade värden. 1

Innehållsförteckning Abstrakt... 1 Inledning... 3 Kollaborativa system... 3 Minnesbaserade metoder... 4 Betygssättning... 5 Användarbaserade metoder... 6 Pearson Correlation Coefficient... 6 Cosine Similarity... 9 Förutsäga artikelrankning... 9 Long-tail property... 11 Problem... 12 Artikelbaserade metoder... 13 2

Inledning I dagens samhälle har vi tillgång till enorma mängder information genom internet.bara Amazons Kindle-del innehåller över 410, 000 titlar, och oavsett om vi letar efter kläder, filmer eller böcker så är det en alldeles för stor mängd för att vi ska hinna leta igenom alla möjliga alternativ (Ekstrand, Riedl, & Konstan, 2011, p. 82). De flesta sidor delat upp informationen i olika kategorier för att det ska bli lättare för användaren att hitta produkten som användaren söker efter, men många har också valt att använda sig av olika typer av rekommendationssystem för att kunna anpassa innehållet efter konsumenten. Historiskt sätt har människor alltid baserat sina val genom olika typer av rekommendationer. Det kan handla om att en vän har tipsat om en frisör som är extra bra, eller att dagstidningen betygssatt olika filmer på bio. Dessa typer av rekommendationer har dock vissa nackdelar, så som att det finns mycket som hamnar utanför ens räckvidd. Exempelvis så kanske man har ett intresse som ingen av vännerna delar, eller så finns det en konsert i grannstaden som tidningen inte känner till (Ekstrand, Riedl, & Konstan, 2011, p. 82). Dessa problem är något som olika rekommendationssystem försöker lösa genom att öka antalet människor och produkter som användarna når. Ett rekommendationssystem är ett system som använder sig av olika typer av informationom användaren och produkten (också kallat artikeln), så som betygssättningar och kartläggningar av användning (Ekstrand, Riedl, & Konstan, 2011, p. 83). De använder sedan informationen för att rekommendera produkter som användaren kan tänkas vilja ha (Aggarwal, 2016, p. 8). Det finns flera olika typer av rekommendationssystem som används över internet, och de är olika lämpade till olika typer av sidor och produkter. Följande rapport kommer att gå igenom rekommendationssystem med fokus på kollaborativa, minnesbaserade system (collaborative systems), för att ge en inblick i hur olika sidor skapar sina produktrekommendationer. Kollaborativa system Amazon och Ebay är två av sidorna som använder sig av något som kallas för kollaborativa system. Det är traditionellt system som kombinerar feedback från flera olika användare för att förutsäga vad de kommer tycka om för produkter (Aggarwal, 2016, p. 8). Kollaborativa 3

system stödjer sig på att det finns en hög korrelation mellan användarna och produkterna. Om två användare tycker liknande om en produkt, så finns det en stor chans att de tycker liknande om andra också, och om en användare gillar en typ av film, som kommer denne troligtvis gilla en annan film med samma genre. Det är antaganden som kollaborativa system, med hjälp av algoritmer, använder för att generalisera vilka produkter konsumenter kommer tycka om. (Ekstrand, Riedl, & Konstan, 2011, Aggarwal, 2016, p. 8-9). Det finns två olika typer av metoder som det kollaborativa systemet använder sig av; minnesbaserade metoder och modellbaserade metoder. De modellbaserade metoderna använder man sig bland annat av maskininlärning för att förutse vad användarna tycker om (Aggarwal, 2016, p. 10-11). De minnesbaserade metoderna tillhör några av de tidigaste rekommendationssystemen, och jag kommer skriva mer om dem nedan. Minnesbaserade metoder Minnesbaserade metoder baserar sig på idén att användare som liknar varandra gillar samma typ av produkter, och om de gillar en produkt så är det troligt att de gillar andra, liknande artiklar. Minnesbaserade metoder kallas med ett annat namn för neighborhood-based eftersom de placerar användaren i områden (neighborhoods) med andra användare med liknande rankningar av produkter, som de sedan kan använda för att förutse vad konsumenten kommer tycka om (Aggarwal, 2016, p. 29-30). Det finns två primära typer av minnesbaserade metoder; användarbaserade och artikelbaserade. Den användarbaserade algoritmen fokuserar på individer som liknar användaren och vad de har gett höga betyg, eller tittat på eller köpt, och detta har varit mitt största fokus i projektet. En matrix med detta kan ses i tabell 1 (Aggarwal, 2016, p. 29). Den artikelbaserade algoritmen fokuserar istället på att rekommendera artiklar som påminner om artiklar som användaren har gett höga betyg, eller tidigare tittat på eller köpt. Den stora skillnaden mellan dem är alltså att den första är centrerad kring användarna medan den andra är baserad kring artiklarna (Aggarwal, 2016, p. 29). 4

Tabell 1 (Aggarwal, 2016, p.34). Varje rad representerar en användare, och i de två sista kolumnerna presenteras skillnaden mellan användaren på aktuell rad jämfört med användare 3. Hur man kommer fram till dessa uträkningar kommer visas senare i texten. Det problem som oftast är mest relevant när det kommer till kollaborativa system är att få fram top-k användare eller top-k artiklar. Detta innebär att sidan exempelvis vill få fram de top-5 mest relevanta filmerna eller de top-5 mest relevanta användare. Top-k användare visas inte lika ofta, men är användbart för att få fram vilka användares recensioner som algoritmen ska fokusera på för att få fram de mest relevanta artiklarna (Aggarwal, 2016, p. 30). En annan relevant problemformulering är att förutse vilka betyg en artikel kommer få från en användare. Dessa två problem är ofta sammanlänkade. Exempelvis kan man förutse vad användaren kommer att ge för betyg till olika filmer för få fram de top-5 mest relevanta filmerna. Detta kan räknas ut i förväg offline för att öka effektivitet (Aggarwal, 2016, p. 30). Betygssättning Det finns flera olika betygssättningstyper som kan användas inom kollaborativa system. Ett exempel är kontinuerliga betygssättningar, där sidan exempelvis ber om ett flyttal mellan 1 10. Detta är ofta krångligt eftersom talen kan variera mycket och vara svåra att jämföra med varandra (Aggarwal, 2016, p. 31). En typ av betygssättning som används oftare är intervallbaserad betygsättning. Det innebär att användaren exempelvis kan ge ett betyg mellan 1 5 (endast heltal). Skillnaden mellan storleken på talen representerar då också skillnaden i avstånd, och det är samma avstånd mellan varje steg i skalan. Detta är den betygssättning som jag har valt att fokusera på. Andra typer av betygssättningar är binära (användaren kan gilla eller ogilla något), unary 5

(användaren kan bara välja att gilla eller välja att inte betygssätta arikeln) och ordinala (skalan består av exempelvis gillar lite, gillar mycket, gillar inte) (Aggarwal, 2016, p. 31-32). Användarbaserade metoder För att använda sig av användarbaserade metoder inom kollaborativa filtreringar måste systemet först räkna ut vilka artiklar som två användare har gemensamt. Detta gör systemet genom att hitta snittet på artiklarna som användarna har betygssatt: Iu Iv. Snittet kommer alltså vara en mängd med alla filmer som båda användarna har betygssatt. Den gemensamma mängden används sedan för att räkna ut hur lika användarna är. Ofta ger snittet en tom mängd, eftersom användare ibland inte har betygssatt samma saker (Aggarwal, 2016, p. 34-35). Pearson Correlation Coefficient En av funktionerna som används för att beräkna likheten mellan användarna är Pearson correlation coefficient, och den används enbart på den gemensamma mängden mellan användare u och användare v. Innan Pearson correlation coefficient används är det vanligt att räkna ut medelvärdet på betygssättningarna av användare u och att sedan använda detta i beräkningen; detta eftersom det är enklare än att räkna ut Pearson correlation coefficient för varje värde i mängden av artiklar. Det tycks inte vara någon stor förlust att välja den enklare metoden (Aggarwal, 2016, p. 35). Uträkningen av medelvärdet för användare u kan ses nedan: Här räknar vi alltså ut medelvärdet μ för användare u. Detta för vi genom att ta summan av alla betygssättningar för artikeln k. Som måste vara ett element i u s betygssättningsmängd Iu, och delar detta på antalet betygssättningar som u har gjort. Användaren u vara ett element i mängden användare m. Uträkningen gör vi för både användare u och användare v som u ska jämföras med (Aggarwal, 2016, p. 35). Efter detta kan vi utföra en Pearson correlation coefficient som ser ut som nedan: 6

Pearson correlation coefficient ska alltså räkna ut likheten mellan användare u och användare v, och räknas endast på elementen i den gemensamma mängden Iu Iv som räknades ut tidigare. För alla k som är ett element i Iu Iv multiplicerar vi betygssättningen som u har gjort för artikeln k minus medelvärdet för u s betygssättningar multiplicerat med samma sak för användare v. Detta divideras med roten ur (ruk μu) 2 för alla element i Iu Iv, vilket vi räknat ut tidigare, upphöjt till två, och multiplicerat med roten av (rvk μv) 2 för alla element i Iu Iv. Genom att jämföra användare u med alla andra användare på detta sätt får vi ut likheterna mellan dem, och de med högst coefficient värde väljs ut, eftersom de liknar användaren mest ("Collaborative Filtering", 2017, Aggarwal, 2016, p. 35). Det finns vissa problem med att bara använda Pearson correlation coefficient. Användare har ofta olika personliga skalor när de rankar artiklar. Vissa användare tenderar att betygssätta alla produkter positivt, medan andra användare rankar allting negativt. För att lösa detta kan man ta fram det medel-centrerade värdet för artikeln (Suj) eftersom detta gör att betygen omvandlas i proportion till användarens egna betygssättningar, och genom att göra detta försvinner därför problemet med individuella betygssättningsskalor. Hur man utför detta ses i funktionen nedan (Aggarwal, 2016, p. 35): Rankningarna omvandlas genom att ta betygssättningen användaren har gjort för den specifika artikeln j och subtrahera med användarens medelvärde μu. ruj står för betygssättning (rating) gjord av användare u på artikeln j (Aggarwal, 2016, p. 35). 7

I tabellen nedan kan vi se de medel-centrerade värdena baserade på data från tabell 1. Det är alltså värdena vi fått från tabell 1 efter att ha omvandlat dem från de råa betygen till de medelcentrerade betygen: Tabell 2 (Aggarwal, 2016, p.34). Nedan kan vi se ett exempel på Pearson correlation coefficient baserat på figur 1: Den här funktionen beräknar likheten mellan användare 1 och användare 3. För varje kolumn där både användare 1 och 3 har betygssatt artikeln tar man betygssättningen från användare 1 subtraherat med medelvärdet för användare 1 (vilket ger det medelcentrerade värdet för artikeln), och multiplicerar detta med betygssättningen som användare 3 har gjort på samma artikel subtraherat med dennes medelvärde. Sedan gör man detta för alla artiklar de har gemensamt och adderar ihop det. Detta divideras sedan med roten ur alla betygsättningarna för användare 1 subtraherade med medelvärdet och upphöjda till två, multiplicerat med roten ur betygsättningarna för användare 3 subtraherade med medelvärdet och upphöjda till två. Då får vi ut svaret 0,894, vilket också finns med i tabellen. Nu kan vi därför förstå varför användare som vid första anblick inte är så lika varandra har fått ett output från Pearsons 8

correlation coefficient som antyder att de har rankat artiklarna på ett liknande sätt. Det är alltså eftersom man nu har räknat på de medel-centrerade värdena (Aggarwal, 2016, p. 36). Cosine Similarity En annan funktion som kan användas för att jämföra likheterna mellan användare är Cosine similarity. Det räknas ut genom följande funktion: Cosine similarity räknas alltså ut genom att ta betygssättningarna som två användare har gjort och multiplicera dem med varandra. Man gör alltså detta för varje artikel i tabellen, och dividerar sedan detta med roten ur alla betygssättningar från användare A upphöjt till två, multiplicerat med roten ur alla betygssättningar från användare upphöjt till två (Aggarwal, 2016, p. 36). B Ett exempel med data från figur 1 kan ses nedan: Här jämförs användare 1 och användare 3. Artikel 1 och artikel 6 finns inte med i beräkningen, eftersom inte båda användarna har betygssatt dem. Därför börjar beräkningen med 6*3. 6 betyget som användare 1 har gett artikel 2, och 3 är betyget som användare 3 har gett artikel 2. Sedan gör man samma sak för de andra artiklarna och adderar ihop dessa. För talen som ligger i täljaren gäller det att addera ihop alla betygssättningar och räkna ut roten på dem. Dessa betygssättningar ska upphöjas till två, och sedan gör man samma sak för användare 3 och multiplicerar detta. Slutresultatet blir 0,956. Ju likare användarna är desto närmare 1 kommer slutresultatet att vara (Aggarwal, 2016, p. 36). Förutsäga artikelrankning Efter att ha gjort dessa uträkningar på alla användare kan vi se vilka användare som har betygssatt på ett liknande sätt som användare 3. I detta fall kan vi genom figur 1 och se att de användare som är mest lika är användare 1 och 2. Genom att använda oss av deras data kan vi 9

nu räkna ut prognosen för vad användare 3 kommer tycka om artiklar 1 och 6, som inte har fått någon betygssättning (Aggarwal, 2016, p. 36). Detta gör vi genom funktionen nedanför: ^r31 ^r36 står för de förutspådda betygssättningarna av användare 3 på artikel 1 respektive 6. För att räkna ut detta tar man det råa betyget som användare 1 har gett, multiplicerat med användarens Pearson correlation coefficient adderat med samma sak för användare två. Sedan dividerar man detta med den summan av bådas Pearsons correlation coefficient. För artikel 1 fick vi då 6,49, och för artikel 6 är det förutsagda betygssättningen 4. Detta visar på att artikel 1 bör rekommenderas före artikel 6 (Aggarwal, 2016, p. 36). Om vi ser på tabell 1 igen ser det då ut som att den här artikeln kommer få bättre betyg än alla de andra artiklarna som användare 3 har betygssatt. Detta beror dock på att betygssättningarna som användes i uträkningarna inte har anpassats till användarnas personliga skala. Om man tittar på tabell 1 har både användare 1 och 2 en mer positiv skala när de betygssätter artiklarna, vilket påverkar den förutsagda betygssättningen. För att få en mer korrekt betygssättning måste man återigen använda sig av användarnas medelvärde för att få ut ett mer korrekt resultat (Aggarwal, 2016, p. 37). Genom att använda sig av de medel-centrerade värdena kan man istället räkna ut en medel-centrerad förutsägelse om en artikel, vilket gör resultatet mer rimligt användaren. För att få ut den råa förutsägelsen adderas sedan användarens medelvärde på förutsägelsen. För att visa att det inte är en betygssättning utan en prognos över en betygssättning placeras ^ över r som nedan (Aggarwal, 2016, p. 36): I funktionen ovan räknas prognosen utifrån det område som användaren har placerats i för just denna artikel. Pu(j) är de top-k användarna för användare u, som har betygssat artikel j. I vissa 10

fall kan de som rankat u väldigt lågt eller negativt filteras bort från funktionenö. Ett exempel kan ses nedan(aggarwal, 2016, p. 36): Här har vi bytt ut betygsättningen från tabell 1 till betygsättningen från tabell 2. Då kan vi se hur de förutspådda betygen hamnar mer i linje med hur användare 3 har betygssatt tidigare produkter. Artikel 1 är då fortfarande högre än de andra betygen som användare 3 har gett, vilket indikerar att användare 3 bör tycka bra om den filmen. Artikel 3 fick å andra sidan lägre betyg än vad användaren har gett några andra produkter. Genom att göra medel-centrerade uträkningar får man därför en mer rättvis bild av vad användaren kommer tycka om produkten. Vi kan dock se att betyget för produkt 6 hamnar utanför betygssättningsgränserna som ligger mellan 1-7. Detta kan enkelt fixas genom att avrunda till närmaste betyget, vilket i det här fallet är 1 (Aggarwal, 2016, p. 37). Long-tail property I många verkliga fall följer betygssättningarna en kurva som kallas long-tail property. Det innebär att några få artiklar har blivit betygssatta många gånger, och då räknas som populära, medan de flesta artiklarna inte alls får lika många betyg. En kurva som visar detta kan ses i figur 1 nedan. En sådan fördelning på datum har flera implikationer, både i områdesindelningen och när algoritmen ska förutsäga användarens betyg. Det kan bland annat leda till att användarna får en väldigt begränsad bild av vad som finns på sidorna, eftersom de ofta blir rekommenderade samma saker, då det är de artiklarna som oftast är betygssatta och som är betygssatta med höga poäng. Det kan även leda till att företagen, tvärt om, rekommenderar de som inte blivit betygssatta lika ofta, eftersom de kan få en högre vinst på dessa (Aggarwal, 2016, p. 33, 39). 11

Figur 1 ("Long tail", 2017). Ett sätt att lösa problemet med long-tail property är att använda sig av omvända användarfrekvenser (inverse user frequencies). Det är en metod som är baserad på ett liknande mått från lingvistiken, TF-IDF, som är till för att avgöra hur viktigt ett ord är i ett dokument. Man gör detta genom att (Ben Ticha, Roussanaly, Boyer, & Bsaies, 2013): wj är här den omvända användarfrekvensen för artikel j där m är det totala antalet användare och mj är antalet betygssättningar på artikel j. Detta kan sedan inkluderas i Pearson correlation coefficient som nedan där wk representerar den omvända användarfrekvensen för artikel k (Aggarwal, 2016, p. 39): Problem Det finns vissa problem med de användarbaserade metoderna. Systemen kan exempelvis stöta på svårigheter vid nya användare, eftersom de inte har någon feedback från dessa. Det kan på liknande sätt bli problem med nya produkter som inte har hunnit får några betygssättningar 12

ännu (Aggarwal, 2016, p. 8). Detta kan man dock se att sidor så som Netflix har löst genom att ha en kategori med nya filmer, för att lägga fokus på dessa. Ett annat problem ligger i att användaren exempelvis oftast bara har lämnat feedback på ett litet antal av alla artiklar som sidan har. Netflix har, till exempel, över 17, 000 filmer i sitt bibliotek (Ekstrand, Riedl, & Konstan, 2011, p. 82). Troligtvis finns det därför många filmer, och typer av filmer, som användaren inte har sett, vilket gör att det kan finnas stora tomrum i informationen de har om användaren och om filmerna (Aggarwal, 2016, p. 8). Rekommendationssystemen får sällan fullständig information om användarna, utan måste helt enkelt kunna arbeta så bra som möjligt givet den information de har fått. Artikelbaserade metoder Artikelbaserade metoder liknar de användarbaserade metoderna till en hög grad, med skillnaden att uträkningarna baseras på produkterna istället för användarna. På samma sätt som med de användarbaserade uträkningarna så omvandlas först betygssättningarna till medelcentrerade värden, och sedan används i princip samma uträkningar som för de användarbaserade metoderna. Skillnaden är att för artikelbaserade metoder är Adjusted Cosine Similarity (adjusted eftersom den använder sig av de medelcentrerade värdena) generellt överlägsen Pearson correlation coefficient i resultat. En annan skillnad är också att man istället för top-k användare räknar man ut top-k artiklar (Aggarwal, 2016, p. 40). Detta är en metod som många olika sidor använder (eller har använt) sig av - bland annat Amazon och Ebay. Det är en metod som många gånger är mer precis än den användarbaserade, eftersom den är centrerad kring användarens egna betygssättningar istället för att vara baserad på vad andra liknande användare har gett för betyg. Detta leder exempelvis till att om en användare har gett höga betyg till science fiction filmer så kommer denne att bli rekommenderad andra science fiction filmer. Med användarbaserade metoder så kan det istället leda till att användaren blir rekommenderad en helt annan genre, eftersom en användare som gillar både science fiction och romantiska komedier kan blir en top-k användare (Aggarwal, 2016, p. 42). 13

Något som är negativt med de artikelbaserade metoderna är att det lätt kan hända att användare bara får liknande rekommendationer, inom samma genre eller helt enkelt artiklar som inte är nyheter för användaren. Om användaren inte tycker om den första filmen som denne ser, så finns det också en stor risk att denne kommer att bli rekommenderad liknande filmer ändå, eftersom det är allt som systemet har att gå på. Detta kan troligtvis leda till att användaren blir rekommenderade flera filmer som denne inte tycker om. Genom att använda sig av användarbaserade metoder undkommer man det problemet och det kan till och med leda till att användaren upptäcka nya produkter som denne uppskattar, men aldrig hade tänkt på att leta reda på själv, på grund av att en annan användare har överlappande, men också annorlunda intressen (Aggarwal, 2016, p. 42). Avslutningsvis så finns det fördelar och nackdelar med alla metoder. Något som är värt att tänka på är att algoritmerna bara står för en liten del av hur väl ett system fungerar, och det är, exempelvis också viktigt att ha ett bra system för att samla in information om artiklarna och användarna (Ekstrand, Riedl, & Konstan, 2011, p. 83-84). Beroende på vad det är för hemsida så kan dessa metoder variera, eftersom rekommendationssystemen är under ständig uppdatering kan vi nog förvänta oss stora förbättringar i framtiden. 14

Aggarwal, C. (2016). Recommender systems (1st ed.). Springer International Publishing. Ben Ticha, S., Roussanaly, A., Boyer, A., & Bsaies, K. (2013). Feature Frequency Inverse User Frequency for Dependant Attribute to Enhance Recommendations. SOTICS 2013, The Third International Conference On Social Eco-Informatics, 45-50. Collaborative Filtering. (2017). Recommender Systems. Retrieved 6 January 2017, from http://recommender-systems.org/collaborative-filtering/ Ekstrand, M., Riedl, J., & Konstan, J. (2011). Collaborative Filtering Recommender Systems. Foundations And Trends In Human Computer Interaction, 4(2), 81-173. Long tail. (2017). En.wikipedia.org. Retrieved 11 January 2017, from https://en.wikipedia.org/wiki/long_tail 15