Colloborative filtering ett rekommendationssystem

Relevanta dokument
Rekommendationssystem. med fördjupning på collaborative filtering

LINKÖPINGS UNIVERSITET. Rekommendationssystem

Rekommendationer på nätet

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


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

Hur jag skapar en webbplats värd kr/år på 49 dagar med endast 10 timmars arbete

Kundhandledning för EBIS. E-space Business Intelligence System. Version

Googles sidrankning - linjär algebra värt en förmögenhet

Hitta de bästa nyheterna med Zite

"Content is king" - Vacker Webbdesign & Effektiv Sökmotorsoptimering för företag

TiVo ett rekommendationssystem. TiVo ett rekommendationssystem

So ka artiklar och annan litteratur

Välkommen till WeOptimize

MANUAL FÖR ARENA. INNEHÅLL Komma igång 2 Shopen 4 Kundvagnen 5 Kassan - steg 1 6 Kassan - steg 2 7 Kassan - steg 3 8 Avsluta 9

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

Hitta en vetenskaplig artikel i CINAHL på mdh.se

Användarhandbok StepStones Recruiters Space

En praktisk implementation av ett rekommendationssystem

Välkommen till nästa generations internetbutik! ; 1

Bildbaskontoret. Bruksanvisning. Handitek. anpassar tekniken till människan BRUX\...\ BILDBASKONTORET

Sö ka litteratur i ERIC

Bestäm den matris B som löser ekvationen = 1 2

Uppgift 1 ( Betyg 3 uppgift )

TDIU Regler

Är det jobbigt på jobbet?

MANUAL kvalitetsregister

WEBB365.SE. Hur skriver man sökmotoroptimerade texter

Lumbago - Förord. Välkommen till Journalprogrammet Lumbago.

Verktyg för samarbete mellan lärare. Digitalt mediearkiv Lektionsmixer Personlig mapp

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

INNEHÅLL. INNEHÅLL 26 mars Installation av SHOPsync 1. 2 Konfigurering av SHOPsync 2

MEBS MediCarriers elektroniska beställningssystem

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

Full text only låter farlig, som en återvändsgränd användarundersökning av EDS på Malmö högskola. Linda Trygg

Föreläsning 3.1: Datastrukturer, en översikt

Vad behövs för att skapa en tillståndsrymd?

2004 Mäklarsamfundets rekommendation om prissättning för att motverka lockpriser.

Hjälpavsnitt Expediera varor under Firma-ikonen

Starta din försäljning med hjälp av sociala medier

Lär dig skriva för webben

HANDLEDARE: Jonny Pedersen Datum: (Detta skrevs i November 09)

Vill du öka din omsättning?

Utökad sökning i Cisions mediedatabas

Bakgrund och Affärsidé

Skriva för webben och bildskärmen, eller kanske anpassa ditt budskap till skärmläsning

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg

En fråga som ibland dyker upp är den om illamående och kräkningar. Kan man med någon omvårdnadsintervention göra det lättare för patienten.

Peter Hellström. PH-Digital Marketing

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

Sö ka artiklar öch annan litteratur

E-handeln miljarder riskerar gå upp i rök SILENTIUM AB COPYRIGHT

E-julhandeln i Sverige Svenskarnas julklappsinköp på internet fram till 25 november 2013

Ansiktsigenkänning med MATLAB

Systems for automatic recommendations of news and events

TIME CARE POOL WEBB. Personlig kalender (ikon i vänsterkolumnen)

Presentationen försöker besvara dessa frågor med hjälp av Incites, framförallt med den nya versionen av Incites

Gabriella Johansson & Jasmine Moradi

Kommunala Mediacentralen våren Lathund. för beställning av läromedel. via Svenska Läromedel på Internet (SLI) Läromedel Böcker

Demografisk undersökning

SNABBKURS Se hur man använder programmen

Välj artiklar via sökfältet (du kan söka både på artikelnummer och artikelnamn), eller via den lilla knappen med tre punkter till höger om sökfältet.

INDIVIDUELL INLÄMNINGSUPPGIFT

First Class uppgift 2

Handla i vår webbshop!

Institutionen för datavetenskap Department of Computer and Information Science

version Om du som kund har frågor kring vår sajt är du varmt välkommen att kontakta vår kundtjänst:

B känns ny och ger en överblick över många delar av tidningen och får mig att leta mig vidare B

2D1418, Språkteknologi NADA, Kungliga Tekniska Högskolan SÖKMOTOROPTIMERING. Av Erik Lindgren

Så här gör du din gymnasieansökan på webben

Introduktion till. CDB Internet

5HVLVWHQVWDEHOO 'DWD3DUWQHU. Er partner inom data

IT-system. BUP Användarmanual

Vikariehandledning Time Care Pool Timanställd vikarie

Instruktioner för studenter

Bättre webb för barn och unga!

Handledare: Mikael Goldmann

utbildning Översikt av funktioner i #fakta

2. Vilka taltripler (x, y, z) satisfierar ekvationssystemet x + 2y 13z = 4 4x y + 17z = 5

Adaptiva system Metoder och processer

Tjörn. Handläggare: Peter Olausson, webbmaster Datum: Tjörn Möjligheternas ö

Manual Konsthantverkscentrum butiken

Instruktion Kemikalieförteckning

Mei UPPGIFT 8 - PEDAGOGIK. Framförandeteknik. Jimmie Tejne och Jimmy Larsson

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

1. Gå till redigeringsläge i Episerver, klicka på den sida som du vill ha ett formulär på. 2. Klicka på fliken Formulär.

Concept Selection Chaper 7

Nyheter version 2.30

Snapshot ENSIZE AB. NKI Ensize AB Ensize AB - Peter Peter Karlsson Sofielundsvägen 4, 4 tr Box Sollentuna

SACO:s löneenkät 2017

- en expertanalys. av Anna Olvenmyr

Personifierad Netflix

Använda Internet. med hjälp av Internet Explorer. Nybörjarguide

Användarmanual för Content tool version 7.5

Registrering av Tjänst i Medusa - Länsteknik

Time Care Pool Vikarie

lokalnytt.se Manual kundadministration

Beställ varor när du vill Dygnet runt 7 dagar i veckan året om

Vikariehandledning. rev

KUNDANALYS. Koncept 2. Varför byter man leverantör? Inget intresse från leverantören

Transkript:

Colloborative filtering ett rekommendationssystem 1

Innehållsförteckning 2

1. Inledning Dagens samhälle är idag uppbyggt till stor del av internet. Vi kan i princip sköta det mesta av våra liv via nätet. Internet handeln blir allt större och större och vissa gånger kan man fråga sig om vi verkligen behöver allt det vi blir rekommenderade att köpa. Jag har valt att fördjupa mig på hur dessa så kallade rekommendationssystem fungerar med inriktning på det vanligaste systemet, colloborative filtering. Rekommendationssystem är system som vi utsätts för då vi tillexempel internet-shoppar. Det är de som gör att då vi handlar via nätet på vissa webbsidor får så kallade rekommendationer på varor som de tror skulle passa just oss, produkter som sajten tror att vi är intresserade av. Ofta är dessa produkter liknande de produkter vi köpt tidigare eller så matchar de produkter vi angett som intressanta då vi registrerade vår kundprofil. Det finns flera olika system som fungerar på olika sätt, både algoritmiskt och rent informations mässigt. Jag har valt att beskriva det vanligaste systemet, collaborative filtering, mest för att det var det systemet det fanns mest information om men också för att det är ett relativt aktuellt system som ständigt utvecklas. Colloborative filtering har i sin tur två olika metoder, modellbaserade och minnesbaserade system. Denna studie kommer vara inriktad på domänen online-shopping då det är inom denna bransch detta system används som mest. 1.1 Syfte Jag vill lära mig hur systemet samspelar med användarna (i detta fall kunder), hur algoritmen ser ut och vilka faktorer den tar hänsyn till då den rekommenderar produkter för kunderna. Varför blir jag tillexempel ständigt rekommenderad olika hårtorkar då jag precis beställt min nya hårtork? Jag vill också studera den algoritm som ligger till grund för hur programmet arbetar samt förklara hur den fungerar. 1.2 Metod och källor Jag har till största del använt mig av internet då jag sökt information. Men jag har även tagit hjälp av böcker, artiklar och tidigare rapporter. Det har inte varit svårt att hitta information om rekommendationssystem i allmänhet. Det kluriga har däremot varit att hitta information om algoritmen för collocorative filtering då dessa varit väldigt krångligt förklarade i facklig engelsk text. Internet som källa är både bra och dåligt, det som var mest uppenbart var hur olika informationen kunde se ut om samma sak. För att undvika felskrivningar dubbelkollade jag information som verkade tvetydig. Jag är nöjd med mina val av källor och känner att de tillsammans utgjorde ett stabilt och täckande material för min fördjupning. 3

2. Rekommendationssystem Ett rekommendationssystem har i grund och botten i uppgift att rekommendera kunden en produkt som stämmer så pass bra överens med det den tidigare köpt, eller är på väg att köpa, att kunden inte kan säga nej. Den rekommenderade produkten ska vara så pass aktuell för kunden att den skall kännas självklar. Ett rekommendationssystem är innehållsbaserat, alltså att systemet jämföra potentialen på just denna produkt för att sedan avgöra om och vad den potentielle kunden tyckt om varor som liknar den aktuella produkten. Är korrelationen hög i jämförelse med liknande varor blir denna vara en rekommendation till kunden just på grund av denna korrelation. Ett exempel på denna funktion kan vara i en kosmetika online-shop. Där kan systemet ta hänsyn till vilka märken, typ av produkt, styrka, modell med mera för att se hur användaren handlat innan. Köper du samma mascara som användare X kan du även bli rekommenderad samma hudkräm kund X också köpte, just för att ni har en vara gemensamt och därmed uppfattar systemet det som liknande intressen. 2.2 Collaborative filtering Det vanligaste rekommendationssystemet gällande online-shopping är ett system som kallas collorobative filtering. Som system är det tämligen välutvecklat och används av flera ledande onlineshopping företag, bland annat hm och amazon. På svenska kallas detta system för samhörighetssystem och fungerar i korthet som så att systemet skapar användare profiler till de registrerade kunderna. I profilen får kunden fylla i information om sig själv samt markera intressanta produkter, eller ge utvalda produkter betyg. Dessa profiler består i sin tur av vektorer, en vektor är en lista som stödjer slumpmässig tillgång till de element (produkterna) som finns i listan. Denna lista skapas genom att kunden betygssätter varor, listan kan sedan fyllas på och utvecklas allt eftersom kunden betygsätter produkter. Denna betygssättning kan vara binär och vara tillexempel en betygsskala eller gillar/ gillar inte. Systemet grundar sig på att kunden direkt vid registrering börjar betygsätta varor och skapar sin produkt lista. Kundens användare profil kommer ge systemet en bild om vad den aktuella kunden är för typ av kund, dessa produkter berättar för systemet om vad du är intresserad av och vad du kan tänkas vilja bli rekommenderad, detta avgörs genom att jämföra korrelationen mellan de olika produkterna. Systemet jämför olika kunders användarprofiler med varandra, det letar efter likheter genom att leta upp och jämföra kundprofilerna med varandra. Det är listan med kundens tidigare betygssättningar som avgör vad som kommer rekommenderas. Det är alltid objekt som den aktuelle kunden inte tidigare betygssatt som kommer bli rekommenderade. Colloborative filtering arbetar alltså genom att leta efter användare som har så lika betygssättning på sina produkter som den aktuelle 4

kunden har, korrelationen ska bli så hög som möjligt. Genom att jämföra med vad andra användare har köpt kan systemet rekommendera dig dessa produkter då ni verkar ha liknande intressen. Det finns två kategorier inom colloborative filtering system. Minnes-baserat system arbetar över stora övergripande system och kund databaser då den gör sina antaganden. Model-baserade system däremot använder kunddatabasen för att skapa sig en modell av situationen, för att sedan skapa ett antagande. Då colloborative filtering beräknar likheten, korrelationen, mellan två kunder använder den sig av Pearsons r. Detta är en metod man använder för att beräkna korrelation. Här ges värden mellan -1 och 1. 1 betyder att det finns en stark korrelation och -1 betyder att det finns en tydligt negativ korrelation. Skulle värdet bli noll skulle det inte finnas någon korrelation överhuvudtaget. Värdet systemet får fram då den beräknar denna korrelation används alltså sedan för att undersöka vad kund a kan tänkas tycka om produkt j. Kunden a jämförs sedan med annan kund i. Vi vill alltså ge en vikt åt kund i. (V(a,j)) är det betyg användare a gett vara j. (V(a)) är medelvärdet på alla betyg användare a angivit. Figur 1: Pearsons R (Källa:ftp://ftp.research.microsoft.com/pub/tr/TR-98-12.pdf) Skulle resultatet bli 1,0 betyder det att användare a och i har betygssatt varorna lika. Det viktade värdet skulle då bli 1,0. Då man utför detta får man även reda på om användare a har en stark negativ korrelation (-1,0) till användare i, detta kan i sin tur vara intressant information. Sedan beräknas det viktade medelvärdet (Xw) ut och detta görs med hjälp av formeln nedan. Detta görs för att lägga ihop två betygssättningar för att sedan få fram ett slutgiltigt betyg på den aktuella produkten. Här multiplicerar man helt enkelt korrelationen mellan kund X och användare Ys betyg på produkten L. Man dividerar sedan summan av alla produkter med summan av alla vikter (w)(de värden vi fick fram genom Pearsons R). 5

Denna Pearsons R är en vanlig metod som används för att beräkna likhet. Nedan följer en likhetsmetod som används för mer komplexa system. 2.3 Likhetsberäkning Till exempel tar vi produkt X. Produkt X har köpts av 3 personer och får därför vektorn [Kund1, Kund2, Kund3 ]. På samma sätt gör vi med produkt Y som köpts av 4 personer, [Kund1, Kund2, Kund3, Kund4]. Produkt X [Kund1, Kund2, Kund3] Produkt Y [Kund1, Kund2, Kund3, Kund4] Produkt X och Y har tre gemensamma kunder. Skulle jag sedan som ny användare komma och vilja köpa produkt X skulle jag troligen också bli rekommenderad produkt Y då dessa produkter blivit handlade av samma tre kunder. Detta tolkar då systemet om att gillar kund 4 produkt y à gillar kund 4 produkt X också. Detta beror på att produkt X och Y har en hög korrelation till varandra, då de i detta exempel delar på tre kunder. På detta görs sedan en beräkning på cosinus av vinkeln mellan vektorerna. 2.4 Item- to item Collobrative filtering system kan ibland ha svårigheter med att hantera stora omfattande system, tillexempel gigantiska webbsidor som har flera tusentals objekt och användare. För att undvika detta kan man använda sig av en så kallad item to item colloborative filtering. För alla varor i varukatalogen arbetar en algoritm med att undersöka varje enskild kund som har köpt just den varan och försöker räkna ut likheten mellan dessa två varor. Systemet vill alltså matcha de tidigare inköpta varorna med redan befintliga varor för att sedan kunna rekommendera dessa. Algoritmen för item-to item systemet på så sätt att den går igenom alla produkter i katalogen. Algoritmen beräknar vilka kunder som köpt vilka varor och går sedan igenom alla varor kunden köpt. Detta för att sedan räkna ut likheten mellan dessa produkter med exempelvis Pearsons r. 6

Bild 3 (Källa: http://www.ida.liu.se/~729g11/projekt/studentpapper-09/maja-schylstrom.pdf) 2.5 Demografiska system Det finns också ett system som kallas för demografiskt system. I dessa system jämför man användare med varandra, man kan här undersöka en persons ålder, ursprung, familjesituation m.m. Du som kund får sedan din kundprofil jämförd med personer med liknande profil, systemet kan sedan utifrån dessa likheter/ olikheter avgöra vilka produkter som kan tänkas passa just dig. Dessa demografiskasystem har den fördelen att de till tillskillnad från colloborative filtering system är att användarna inte behöver ranka produkter kontinuerligt. Det räcker med att användaren skapar en användarprofil och anger ex. ålder, hemort osv, systemet använder sedan dessa med att matcha kolloration mellan användare i samma demografiska grupp. 2.6 Problem med systemet Colloborate filtering har också en brist i att användare som är relativt nya och inte rankat så många varor har en tämligen svag kundprofil och kan därför bli rekommenderade ointressanta produkter. Systemet har helt enkelt fått för lite information om den aktuelle kunden för att kunna fungera optimalt. Ett annat problem är då det uppkommer kunder som inte har någon positiv korrelation med någon annan kund. Det blir då svårt för systemet att rekommendera någon passande produkt. En bra funktion med detta är att hos de flesta online-shopar kan kunden se vilken vara som orsakade rekommendationen. Tillexempel, Du har angett att du gillare vara X, därför tror vi att du även gillar vara Y. Detta kan dock bli problematiskt, vissa varor är varor man enbart köper engång. Har jag tillexempel köpt en hårfön jag är nöjd med kan det bli irriterande att hela tiden bli rekommenderad 7

liknande hårfönar. Detta problem kan man på vissa webbsidor, inte alla, undvika genom att kryssa i en ruta för att undvika liknande rekommendationer. 2.7 Ramp up problemet Ett av de vanligaste problemen inom rekommendationssystem är ramp up problemet. Detta problem är ett problem uppdelat i två delar. Problemet är vanligt i colloborative filtering men finns även i andra rekommendationssystem, till exempel inom de demografiska rekommendationssystemen. Problemet i sig är att kunderna måste ge systemet information för att det ska fungera och skapa en kundprofil och då få en övergripande bild över vad kunden kan tänkas vilja bli rekommenderad. Problemet är att kunden under sin första tid under då den använder webbsidan får opassande och ointressanta rekommendationer, eller samma rekommendationer gång på gång. Detta leder till att kunden tröttnar på webbsidan och börjar söka efter andra alternativ och kanske överger den aktuella webbsidan. Den andra aspekten av problemet är att då det uppkommer nya produkter på webbsidan börjar dessa med betygssättningen noll eftersom ingen kund har hunnit betygssätta dem. Dessa produkter kommer då ha svårt att komma upp på topplistor, de halkar på så sätt ur systemet. Ett vanligt exempel på webb-shoppar blir de varor som rekommenderas först också storsäljare, varor som har låga betyg och inga rekommendationer hamnar lättare i skymundan. 2.8 Gråa får Det finns också ett fenomen hos colloborative filtering som kallas för gråa får. Detta problem drabbar kunder som inte har så hög korrelation med någon annan användare. Systemet finner därför ingen matchning för dessa kunder, vilket leder till att rekommendationerna blir slumpade ur produktkatalogen och inte alls anpassade efter kundens intressen. 8

3. Analys Det finns vissa problem med system som colloborative filtering. Ett system som beror på mänskliga värderingar är väldigt oförutsägbart. Systemets prestanda kan sänkas då informationen om kunden inte är tillräckligt omfattande. Detta leder till felaktiga rekommendationer. Att detta system arbetar med information som ges till systemet allt eftersom kunden ger olika produkter betyg leder till att en helt ny användare tvingas poängsätta varor som ett försa steg. Utan detta första steg kan systemet inte fungera optimalt. Detta gäller inte enbart nya kunder utan även nya produkter. Produkter som är helt nya har heller aldrig blivit poängsatta. Att börja på noll och aldrig bli rekommenderad till kunder är inte rättvist. Vissa har löst detta med att marknadsföra nya produkter starkt, detta för att skapa rättvisare konkurrens. Systemet bygger på att kunder regelbundet, i takt med att det blir fler och fler produkter betygssätter varor. I och med att fler kunder rankar varor blir också systemet mer effektivt och pricksäkert. Det är lätt att glömma bort hur otroligt omfattande system detta är. Mitt exempel för likhetsberäkningen var på enbart två produkter och fyra kunder. Men tänk hur omfattande och många vektorer de stora webbsidorna arbetar med, flera tusentals objekt och kunder! Samhörighetssystem har den fördelen att de kan identifiera områden där flera genrer där dessa korsar varandra. Systemet behöver tillexempel inte heller inte kunskap om domänen utan kräver enbart kunskap om kunden, som hämtas ifrån den aktuella kundprofilen. Ju mer en kund betygssätter och anmäler intresse av ju bättre och precisare blir också systemets rekommendationer! Eftersom ett samhörighets system matchar kundernas varor och betygssättningar är det lätt att en grupp användare bildar som en egen rekommendationsgrupp då de rekommenderar och köper varandras varor. Ett mer utvecklat system som på något sätt inte rekommenderar samma vara till samma person mer än två gånger skulle vara mer effektivt. Jag tror att man som kund ofta känner sig mer irriterad än tacksam för en rekommendation som uppkommer mer än två gånger. Dock har vissa sidor en funktion där kunden kan klicka i en rekommendera inte detta igen - knapp, detta borde egentligen alla sidor ha för att behålla kunder. Av egen erfarenhet vet jag att vissa saker som man blir rekommenderad ofta är sådant som de flesta kan komma på att de behöver. Varför inte köpa tre par strumpor för 40 kronor när man ändå ska göra en beställning. Jag gjorde en test-sökning på en webbsida som använder sig av rekommendationssystem. Då jag registrerade mig klickade jag i att jag gillade barnfilmer och katter. Jag blev sedan enbart rekommenderad barnböcker och kattleksaker, eller barnböcker om katter. Det 9

visar på systemets effektivitet då det enbart rekommenderar mig det jag sagt att jag var intresserad av. Men baksidan av detta blir då att jag inte blir rekommenderat något annat. Jag blir på så vis utestängd från en stor del av produkt sortimentet. Detta räddar i och för sig sajterna snyggt med att ha stora reklam kampanjer som gör att vi köper de varor de vill ändå. Tyvärr blir det ofta de mest storsäljande produkterna som blir rekommenderade då dessa korrelerar med väldigt många kunder. Detta kan därför medföra att mindre framgångsrika eller sämre marknadsförda produkter aldrig blir rekommenderade. Problemet gråa får tror jag är ett problem som gör att man blir väldigt irriterad på systemet. Just i denna aspekt märks det att systemet är anpassat för en grupp av kunder som har liknande intressen. Detta kanske inte är så konstigt då det ofta är samma typ av kunder på vissa sidor. Men mer breda och o-kategoriserade sidor där sortimentet är väldigt varierat kan detta problem bli tufft. Detta problem kan leda till att webb sidan tappar kunder och skulle då också kunna leda till ramp up problemet. Det är därför vanligt att sidor kombinerar exempelvis samhörighetssystem och någon annan metod för att få ett optimalt system. Tillexempel är det vanligt att man inom samhörighetssystem mixar detta med den viktningen (viktat medelvärde). Detta gör att det man kontinuerligt utökar rekommendations och betygslistan(vektorerna) hos kunderna. Nackdelen blir dock åter igen att den samhörighetssystemet har svårt att hantera produkter som få användare har betygssatt. Även de demografiska systemen drabbas även de utav gråa får. Det skulle tillexempel vara någon som bor väldigt avsides, är väldigt gammal och har väldigt säregna intressen. Personen skulle då inte få många matchningar med sin kundprofil. Sammanfattningsvis kan man säga att colloborative filtering är ett system som är som mest optimalt för användare med liknande kundprofiler, och ganska meningslöst och irriterande för personer med special intressen. 10

Referenser Trycktakällor: Pazzani, Michael J. (1999) A Framework for Collaborative, Content-Based and Demographic Filtering. Artificial Intelligence Review, vol 13, 391-48 Melville, PremY Mooney, Raymond J.Y Nagarajan, Ramadass (2002) Content-Boosted Collaborative Filtering för Improved Recommendations, Proceedings of the Eighteenth National Conference on Artificial Intelligence (AAAI-2002), 187-192 Internet sidor: 090911- http://sv.wikipedia.org/wiki/medelv%c3%a4rde 190911- http://www.ida.liu.se/~729g11/projekt/studentpapper-09/maja-schylstrom.pdf 150911- ftp://ftp.research.microsoft.com/pub/tr/tr-98-12.pdf 11