recommender systemsdia.apice.unibo.it/download/slides/recommendation...recommender systems (1)...

24
Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea in Ingegneria e Scienze Informa9che DISI – Università di Bologna, Cesena G. Domeniconi, G. Moro, R. Pasolini DISI Università di Bologna, Cesena [email protected] Recommender Systems (1) Sistemi di Raccomandazione I Sistemi di raccomandazione, i.e. Recommender Systems (RS), mirano ad individuare relazioni tra utenE e prodoF forniscono informazioni, i.e. raccomandazioni, personalizzate per l’utente, assistenza vendite (orientamento, consulenza, persuasione...) Macro-famiglie di approcci Sistemi CollaboraEvi: “Dimmi ciò che è popolare tra gli utenE con interessi simili ai miei Sistemi Content-based: “Mostrami oggeF simili per contenuto a ciò che ho apprezzato in passato ” e.g. individua libri simili per contenuto a quelli che ho leQo Sistemi Knowledge-based: “Dimmi quello che si adaQa a me in base alle mie esigenze ” e.g. l’utente esprime le caraQerisEche del prodoQo di interesse e il recommender cerca i prodoF che più le soddisfano Sistemi Ibridi: combinazioni delle tecniche precedenE 2 Data Intensive ApplicaEons

Upload: others

Post on 14-Jul-2020

31 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

RecommenderSystemsPrimaparte

ProgrammazionediApplicazioniDataIntensive

LaureainIngegneriaeScienzeInforma9cheDISI–UniversitàdiBologna,Cesena

G.Domeniconi,G.Moro,R.Pasolini

DISIUniversitàdiBologna,Cesena

[email protected]

RecommenderSystems(1)

SistemidiRaccomandazione

•  ISistemidiraccomandazione,i.e.RecommenderSystems

(RS),miranoadindividuarerelazionitrautenEeprodoF

–  fornisconoinformazioni,i.e.raccomandazioni,personalizzateper

l’utente,assistenzavendite(orientamento,consulenza,persuasione...)

•  Macro-famigliediapprocci

–  SistemiCollaboraEvi:“DimmiciòcheèpopolaretragliutenEcon

interessisimiliaimiei”

–  SistemiContent-based:“MostramioggeFsimilipercontenutoaciò

chehoapprezzatoinpassato”e.g.individualibrisimilipercontenutoa

quellicheholeQo

–  SistemiKnowledge-based:“DimmiquellochesiadaQaameinbase

allemieesigenze”e.g.l’utenteesprimelecaraQerisEchedelprodoQo

diinteresseeilrecommendercercaiprodoFchepiùlesoddisfano

–  SistemiIbridi:combinazionidelletecnicheprecedenE

2DataIntensiveApplicaEons

Page 2: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

LaLongTail

•  Nellavenditaon-lineilnum.diprodoFesistenEèmoltosuperiore

alnumerodiprodoFchel’utentepuòanalizzare

–  occorreindividuarequelliconmaggiorepropensionediacquistoperl’utente

•  Laraccomandazionenelmondofisicoèingeneralepiùsemplice

–  IprodoFsonofisicamentemolEdimeno(soloipiùpopolari)el’utentepuò

visionarlituFoquasi

•  fenomeno“longtail”:ossiapochiprodoFsonoacquistaE/visionaE

moltoemolEprodoFsonoacquistaE/visionaEpoco

–  fenomenocometanEaltrichesegueunadistribuzionepowerlaw

3

SuMovieLensil74%dituQele

valutazioniposiEvesonofaQesul

20%deiprodoF

DataIntensiveApplicaEons

RecommenderSystems(1)

PerchèusareSistemidiRaccomandazione?

•  Valoreperilcliente–  TrovareoggeFrilevanErispeQoaipropriinteressi

–  Migliorarel'insiemedellescelte

–  Aiutareadesplorarelospaziodiopzioni–  IntraQenimento

•  Valoreperilprovider–  ServiziopersonalizzatoaggiunEvopericlienE–  AumentarelafiduciaelafidelizzazionedeiclienE

–  Aumentarelevendite,medianteaumentodiclicktroughrates

(percentualediclickpermisurareilgradimentodioggeFproposE)

–  Opportunitàperlapromozione,lapersuasione

–  OQeneremaggioreconoscenzasuiclienEinbasealgradimentodelle

propostefaQedalrecommender

6DataIntensiveApplicaEons

Page 3: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

NelMondoReale

•  Amazon.comeNe3lix(noleggioDVDefilminstreaming)

generanotrail30%eil70%dellevenditeaQraversolelistedi

raccomandazione

•  Manonsolo….

–  Raccomandazionedigruppi,posEdilavoroopersonesuLinkedIn–  Raccomandazionediamiciepersonalizzazionedellepubblicitàsu

Facebook–  Raccomandazionedicanzonisulast.fmospo>fy–  RaccomandazionedinoEziesuForbes.com(più37%Click-through

rategraziealrecommender)

•  StudiscienEfici–  Diversistudimostranol’aumentodellevenditeecambiamenEnel

comportamentodellevenditegrazieairecommender

7DataIntensiveApplicaEons

RecommenderSystems(1)

NehlixGrandPrizeContest

•  Unesempiodell’importanzanelmondorealedeisistemidi

raccomandazioneèilNeElixGrandPrizeContest:•  Training:

–  17,770film/480,189utenE

–  >100milionidivalutazioni(inscala1-5,conEmestamp)

•  Test:–  prevedereilvotodiognitriplaconvotoignoto(utente,film,voto?)

–  4.2milionidivalutazioni

•  Goal:–  Miglioraredialmenoil10%lacapacitàprediFvadelsistemadi

raccomandazionedelsitoNehlix(radicedell’errorequadraEcomedio,

RMSE-vediamodopo)

•  Premio:1milionedi$

8DataIntensiveApplicaEons

Page 4: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

LaUElityMatrix

•  InunRecommenderSystemagisconodueaQoriprincipali

–  UtenE–  ProdoF,news,posts,ristoranE,viaggi,offertedilavoro...

•  IdaEsonoorganizzabiliinunamatrice,deQau7litymatrix(omatricediraEng)incui:

–  ognirigacorrispondeadunutente–  ognicolonnacorrispondeadunprodoQo–  ognicellacorrispondeallavalutazionedell’utenteperilprodoQo,

oppurepuòesserevuotasel’utentenonsièespressosulprodoQo

•  Lamatricepuòesserebinaria(0/1,sel’utentehacompratoo

menoilprodoQo)oppurediscreta(es.Valorida1a5)

•  Lamatriceègeneralmentemoltosparsa

–  ogniutentedavoEadunapiccolapartedeiprodoF

9DataIntensiveApplicaEons

RecommenderSystems(1)

Unesempio…

•  UElityMatrixcherappresentavalutazionidifilmsuunascala1-5(con5il

punteggiopiùalto)

•  Lecellevuoterappresentanolasituazioneincuil'utentenonhavalutatoil

film

•  InomidifilmsonoHP1,HP2eHP3perHarryPoQerI,II,eIII,TWper

Twilight,eSW1,SW2eSW3perStarWarsepisodi1,2,e3.

10

HP1 HP2 HP3 TW SW1 SW2 SW3

Jake 4 5 4

Mike 5 5 4

Carl 2 4 5

Tom 3 1 4 4 5

Carlapprezzerào

menoStarWars3?

DataIntensiveApplicaEons

Page 5: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

Tipidigiudizi:GiudiziEsplici>

•  rappresentanoifeedbackconmaggioreprobabilitàdi

precisione

•  SonoipiùcomunementeuElizzaE(es:da1a5,da1a7,etc.)

•  Temidiricerca

–  GranularitàoFmalediscala

•  Ades:nellarecommendaEondifilmlascala0-10sièdimostratamigliore

–  ValutazionimulEdimensionali(piùvoEperfilmcomelevalutazioniper

gliaQori,lecolonnesonore,ecc.)

•  Problemiprincipali

–  GliutenEnonsempresonodisposEavotaremolEprodoF

•  numerodivoEadisposizionepotrebbeesseretroppopiccolo→UElity

Matrixsparsediscarsaqualità

–  Problema:ComeincenEvaregliutenEavalutarepiùarEcoli?

11DataIntensiveApplicaEons

RecommenderSystems(1)

Tipidigiudizi:GiudiziImplici>•  TipicamenteraccolEdalnegozioweboapplicazioniincuiilsistema

diraccomandazioneèincorporato

–  Es:l’aquistodiunprodoQoèconsiderataunavalutazioneposiEva(nonsemprevero)

–  OppurepiùsofisEcaE:Click,pagineviste,tempospesosullepagine,download

didemo...

•  PossonoessereraccolEcostantementeenonrichiedonoulteriori

sforzidallatodell'utente

•  Problema:NonsipuòesserecerEcheilcomportamentodegli

utenEsiainterpretatocorreQamente

–  Es:unutentepotrebbenongradiretuFilibricompraE

–  potrebbeancheavercompratolibriperqualcunaltro

•  UElizzodeigiudiziimpliciEinsiemeaquelliespliciE

–  conlapossibilitàdidomandareall’utenteunaconfermasullacorreQezza

dell’interpretazione

12DataIntensiveApplicaEons

Page 6: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

Misurarelabontàdellaraccomandazione

§  Esistonodiversemetrichedimisurazionedell’errorrate

–  MeanAbsoluteError(MAE):calcolaladeviazionetragiudiziprevisEpiequellirealiri

maggioreèladeviazioneminoreèl’accuratezzadellaraccomandazione

–  RootMeanSquareError(RMSE):similealMAE,mapone

maggiormentel'accentosullamaggioredeviazione

13DataIntensiveApplicaEons

RecommenderSystems(1)

SistemiCollaboraEvi

•  InsiemediapproccichiamaEdiCollabora>veFiltering(CF)•  SonogeneralmenteipiùuElizzaE

–  UElizzaEdagrandisiEdie-commerce

–  applicabilidifaQoinogniseQorecommerciale(libri,film,news...)

–  inleQeraturaesistonovarialgoritmienumerosevarianE

•  Razionale:farerecommendaEonuElizzandola"saggezza

dellamassa”

•  Assunzionedibase:sonodisponibiliivoEdegliutenEpergliarEcolidelcatalogo(implicitamenteoesplicitamente)

•  Idea:IclienEchehannoavutointeressisimiliinpassato,

avrannointeressisimiliinfuturo

14DataIntensiveApplicaEons

Page 7: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

CollaboraEveFiltering:ApprocciClassici

•  Input–  LaUElityMatrixdelraEngUtenE-ProdoF

•  Output–  Unaprevisionediquantol'utentegradiràomenoundeterminato

prodoQo

–  Unelencoordinatodeitop-NelemenEconsigliaEperl’utente

•  Approcci:–  Memory-based:uElizzanodireOamenteida>comegusE,voE,click,

etcperrilevarecorrelazionitrautenE(oelemenE)eraccomandare

adunutenteuunoggeQochenonhavalutato/acquistato–  Model-based:l’obieFvoèilmedesimomauElizzanoalgoritmidi

apprendimentoautoma9coperlacreazionedimodellidilearningperfarerecommenda7onadogniutente

15DataIntensiveApplicaEons

RecommenderSystems(1)

User-basedNearest-NeighborCF(I)

•  Consideratounutente,vogliamopredireilgradimentodiun

prodoQopchenonhavotato/comprato

–  TrovareilsetdiutenEpiùsimiliaCarlinbaseaivoEsuglistessiprodoF,machehannovotatoilprodoQopnonvotatodaCarl

–  UElizzare,adesempio,lamediadeivoEassegnaEdaquestosetdi

utenEalprodoQopperpredireilvotodiCarl–  SiripetequestaoperazionepertuFiprodoFnonancoravotaEda

Carlesiraccomandaquelloconvotomaggiore

•  Assunzione:Segliuten9inpassatohannovotato/acquistatoinmanierasimile,lofarannoancheinfuturo–  LepreferenzedegliutenEsonoconsiderateinvarianEneltempo

–  ciòcheerapiaciutoinpassatoadunaltroutente,puòpiacereoraall’utentechedevericeverelarecommendaEon

16DataIntensiveApplicaEons

Page 8: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

User-basedNearest-NeighborCF(II)

•  ComesimisuralasimilaritàtrautenE?

•  QuanEutenEsimilidovremmoprendereinconsiderazione?

•  ComegeneriamounaprevisionepartendodalraEngdegli

utenEconsideraE?

17

Item1 Item2 Item3 Item4 Item5

Carl 5 3 4 4 ?

Mike 3 1 2 3 3

Jake 4 3 4 3 5

Tom 3 3 1 5 4

Phill 1 5 5 2 1

DataIntensiveApplicaEons

RecommenderSystems(1)

MisurarelaSimilaritàtraUtenE

•  DaE:

–  a,b:sonodueutenE–  ra,perb,p:rispeFvamenteraEngdell’utenteaedell’utentebperilprodoQop–  P:setdiprodoFpercuisiaachebhannoespressoungiudizio–  :valoremediorispeFvamentedeigiudizidell’utenteaebperiprodoFinP

•  CorrelazionediPearson(lapiùuElizzata):

•  Ilrisultatoècompresotra-1ed1:

–  seèmaggioredizero,lacorrelazionetraleduevariabilièposiEva

–  seèzero,nonc’ècorrelazione–  seèminoredizero,c’ècorrelazioneinversatralevariabili

∑∑∑

∈∈

−−

−−=

Pp2

bb,pPp2

aa,p

Pp bb,paa,p

)r(r)r(r

)r)(rr(rb)pearson(a,sim _

ra e rb

DataIntensiveApplicaEons 18

covarianzadelle

variabiliraedrb

prodoQodelle2

deviazionistandard

Page 9: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

MisurarelaSimilaritàtraUtenE

•  DaE:

–  a,b:sonodueutenE–  ra,perb,p:rispeFvamenteraEngdell’utenteaedell’utentebperilprodoQop–  P:setdiprodoFpercuisiaachebhannoespressoungiudizio–  ra:veQoredeiraEngdell’utenteadeiprodoFP

•  Similaritàcoseno:

•  RisultaEdellasimilaritàcoseno:

–  valoricompresitra0,maxdissimilarità,e1maxsimilarità

•  Atremisuredisimilarità,es:DistanzadiJaccard

∑∑∑

∈∈

∈⋅

=Pp

2b,pPp

2a,p

Pp b,pa,p

rr

rrine(a,b)sim

)()(

)(cos_

DataIntensiveApplicaEons 19

prodoQoscalare

veQoriraedrb

prodoQodelle

normedei2veQori

RecommenderSystems(1)

Misurarelasimilarità:Esempio

20

Item1 Item2 Item3 Item4 Item5

Carl 5 3 4 4 ?

Mike 3 1 2 3 3

Jake 4 3 4 3 5

Tom 3 3 1 5 4

Phill 1 5 5 2 1

sim=0,85

sim=0,00

sim=0,70

sim=-0,79

•  Datalamatricedell’esempioprecedente

•  MisuriamoedordiniamogliutenEsimiliaCarlsecondol’indicedicorrelazionediPearson:

•  ilpiùsimileaCarlèMike,segueTom

DataIntensiveApplicaEons

Page 10: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

Generareunaraccomandazione

•  siaNl’insiemedegliutenEpiùsimiliall’utentea•  (rb,p–):∀utenteb∈N,calcoliamoladifferenzatrail

giudiziosupdibeilgiudiziomediodibsuiprodoFvalutaE

dall’utenteaeb•  siasim(a,b)lasimilaritàtragliutenEaebcheserveapesare

ilgiudiziodifferenzadibusandocomepesolasimilaritàcona•  èlamediadeigiudiziespressidaa•  PerpredireilprodoQopdaraccomandareall’utenteasi

uElizzacomunementelaseguenteformula:

21

∑∑

∈−⋅

+=Nb

Nb bb,pa basim

rrbasimrpred(a,p)

),()(),(

DataIntensiveApplicaEons

rb

ra

RecommenderSystems(1)

Migliorarelemetrichedipredizione

•  NontuQelevalutazionidegliutenEsimilisonougualmenteuEli

–  Essered’accordosuoggeFcomunementeapprezzaEnonècosì

informaEvocomeunaccordosuglielemenEcontroversi

–  Possibilesoluzione:daremaggiorpesoaglielemenEsuiqualiesiste

maggiorevarianzasuirelaEvivoE

•  ImportanzadelnumerodielemenEco-rated,i.e.apprezzaEdaentrambigliutenEinoggeQo

–  UElizzareunpesaggio,peresempio,cheriducalinearmenteilpeso

quandoilnumerodielemenEco-ratedèbassa

•  Amplificazionedeisimili

–  DarepiùpesoagliutenE"moltosimili",i.e.ilcuiilvaloredisimilaritàè

vicinoad1

•  SelezionedelnumerodiutenEsimili

–  UElizzareunasogliadisimilaritàoppureunnumerofissodivicini

22DataIntensiveApplicaEons

Page 11: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

Approccimemoryemodelbased

•  IlCFuser-basedèconsideratobasatosullamemoria–  lamatricedivalutazionevienedireQamenteuElizzatapertrovaregli

utenEsimilieperfareprevisioni

–  puònonscalareperlamaggiorpartedegliscenaridelmondoreale

•  Approccimodel-based–  BasaEsuunafasedipre-elaborazioneomodellearning–  Infasediesecuzione,soloilmodelloaddestratoèusatoperfare

previsioni

–  ImodellisonoaggiornaE/ri-addestraEperiodicamente

–  GrandevarietàditecnicheuElizzate–  Lacostruzionedimodelliel'aggiornamentopuòessere

computazionalmentecostosa

–  VediamoorailCFItem-based,unesempiodiapprocciomodel-based

23DataIntensiveApplicaEons

RecommenderSystems(1)

Item-basedCollaboraEveFiltering

•  IdeadibaseeobieFvo

–  UElizzarelasimilaritàtraprodoF(enonutenE)perfareprevisioni

–  PrevederequalevotodarebbeCarlall’item5

•  Esempio:

–  individuaregliarEcolichesonopiùsimiliaditem5(sonoitem1eitem4)

–  UElizzareigiudizidiCarlsuitem1eitem4perpredirequelloperitem5

24

Item1 Item2 Item3 Item4 Item5

Carl 5 3 4 4 ?Mike 3 1 2 3 3

Jake 4 3 4 3 5

Tom 3 3 1 5 4

Phill 1 5 5 2 1

DataIntensiveApplicaEons

Page 12: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

Item-basedCollaboraEveFiltering:

Parametri

•  Parametrisimiliall’approccioUser-Based

•  Tecnicheperlamisuradellasimilarità:

–  InquestocasolaleQeraturadimostrachelasimilaritàcosenofunzionameglio

–  Unavarianteallanormalesimilaritàcosenoèquelladiconsiderareladistanzadi

ognigiudiziodalvaloremediodiogniutente

•  Ladimensionedell’insiemedegliitemsimiliperfarelaprevisione

–  èingenerefissaeminoredell’insiemecompletodeisimili

–  Un'analisideldatasetMovieLensindicache"nellamaggiorpartedellesituazioni

delmondoreale,unsetdisimilida20a50sembraragionevole"[Herlockeret

al.2002]

•  Unatecnicacomuneperpredirelaraccomandazione:

25

pred(u, p) =sim(i, p) ⋅ ru,ii∈ratedItem(u)∑sim(i, p)

i∈ratedItem(u)∑DataIntensiveApplicaEons

u = utente p = prodotto ru, i = rate di u del prodotto iratedItem(u) = prodotti valutati da u

RecommenderSystems(1)

Pre-processingperl’approccioItem-based

•  L’approccioItem-basednonrisolveilproblemadellascalabilità

•  Approcciodipre-processingdiAmazon.com(nel2003)

–  CalcolaretuQelesimilaritàtracoppiediiteminanEcipo

–  IlsetdeisimilidauElizzareinfasediesecuzioneèingenerepiuQosto

piccolo,perchéEenecontosolodeiprodoFchel'utentehavalutato

–  lesimilaritàtraprodoFdovrebberoesserepiùstabilidiquelletrautenE

•  RequisiEdimemoria

–  FinoaN2coppiedisimilaritàdamemorizzare(N=numerodiprodoF)

–  InpraEca,questovaloreèsignificaEvamentepiùbasso(prodoFsenza

co-raEng)

–  metodiperlimitarel’occupazionedimemoria

•  Sogliaminimaperco-raEng,ossianum.minimodiutenEchehanno

acquistato/valutatoentrambiiprodoF

•  Limitareaprioriladimensionedelsetdeisimili

26DataIntensiveApplicaEons

Page 13: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

ColdStarteSparsitàdeiDaE

•  Problemadicoldstart–  ComeraccomandarenuovielemenE?CosaconsigliareainuoviutenE?

•  ApproccidireF

–  Chiedere/forzaregliutenEdivalutareunaseriediprodoF

–  UElizzareunmetodocontent-basedoppurenonpersonalizzatoossia

basatosullapopolaritàgeneraledeiprodoF

–  oppureinizialmentesemplicementenonraccomandarenulla

•  AlternaEve–  UElizzarealgoritmispecifici(nonNearestNeighbor)

–  Esempio:

•  Nell’approccioNearestNeighbor,ilsetdeisimilisufficientementesimili

potrebbeesseretroppopiccoloperfarebuoneprevisioni

•  Assumere"transiEvità"deisimili,es.AsimileaB,BaC,quindiAsimileaC

27DataIntensiveApplicaEons

RecommenderSystems(1)

EsempiodiapproccioadaEsparsi

•  RecursiveCollabora>veFiltering[ZhangandPu,2007]–  Seesisteunutente(Mike)moltosimileall’utenteconsiderato(Carl),

cheperòanch’essononhavotatoperunprodoQo(Item5),uElizzareCFpertrovareilraEngdiMikeperItem5

–  InfineuElizzareMikenelcalcolodeisimiliaCarl,invececheuElizzareutenEmoltodiversiacausadellasparsitàdeidaE

28

Item1 Item2 Item3 Item4 Item5

Carl 5 3 4 4 ?

Mike 5 2 4 3 ?

Jake 4 3 4 3 5

Tom 3 3 1 5 4

Phill 1 5 5 2 1

DataIntensiveApplicaEons

Page 14: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

MetodiGraph-based(I)

•  Spreadingac>va>on[Huangetal.2004]–  SfruQarela"transiEvità"presuntadeigusEdelclientee,quindi,

aumentarelamatriceconinformazioniaggiunEve

–  SupponiamodidoverraccomandareunprodoQoperUser1–  ConunapproccioCFstandard,User2saràconsideratounvicinodi

User1perchéentrambihannoacquistatoItem2eItem4–  Item3saràraccomandatoaUser1considerandogliacquisEdelvicino

piùprossimo(User2)–  Vediamooracheaccade

sfruQandopiùin

profonditàla

transiEvità

29DataIntensiveApplicaEons

RecommenderSystems(1)

MetodiGraph-based(II)

•  IlvalorestandarddellalunghezzadelpercorsoinuseroItem-basedè3

à  Item3èrilevanteperUser1perchéesisteunpercorsoditrepassi(User1-Item2-User2-Item3)tradiloro

àtuQavia,poichéilnumerodipercorsidilunghezza3puòesserepiccolo

quandositraQanodaEsparsi,l’ideapercalcolareleraccomandazioniè

quelladiconsiderareanchepercorsipiùlunghi(ossiaassociazioni

indireQe)

–  adesempiouElizzandopercorsia5passi

verrebbepredeQoancheItem1

30DataIntensiveApplicaEons

Page 15: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

Altrimetodimodel-based

•  NegliulEmiannisonostatepropostenumerosetecniche

–  TecnichestaEsEchedimatrixfactorizaEon

•  singularvaluedecomposiEon,principalcomponentanalysis

–  RegoleassociaEve•  UElizzataadesempioperlamarketbasketanalysis

–  ModelliprobabilisEci

•  Modellidiclustering,reEbayesiane,LatentSemanEcAnalysis

probabilisEco

–  ApprocciadapprendimentoautomaEcopiùcomplessi

•  IcosEdipre-processing–  Disolitonondiscussimageneralmentenonsempresostenibili

–  AggiornamenEincrementalisonopossibili?ètemadiricerca

31DataIntensiveApplicaEons

RecommenderSystems(1)

RiduzionedellaDimensionalità:SVD

•  Propostanel2000daB.Sarwaretal.,WebKDDWorkshop

•  Ideadibase:crearemodellipiùcomplessiofflineperla

produzionediprevisionipiùvelocion-line

•  SingularValueDecomposiEon(SVD)perlariduzionedella

dimensionalitàdellematricidiraEng

–  generaunnuovospazioconnuoviassiincuicollocaidaEdellamatrice

–  inuoviassirappresentanoledimensionilungolequaliidaEvariano

maggiormente,tuQavianonsonosemprefacilmenteinterpretabili

–  caQuraisegnalirilevanEneidaEfiltrandoilrumoreconunnumerokdidimensionimoltoinferiorealledimensionioriginali(20≤k≤100)

•  Raccomandazioniforniteintempocostante

•  ApprocciopopolareancheinInformaEonRetrieval(Latent

SemanEcIndexing),compressionedidaE,diimmagini...

32DataIntensiveApplicaEons

Page 16: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

MatrixFactorizaEonSVD

•  LaSingularValueDecomposi>on(SVD)[GolubandKahan,1965]affermacheunamatriceMpuòesserefaQorizzatanel

prodoQodi3matrici:

•  DoveUconEenegliautoveQoridestridiMMTeVgliautoveQori

sinistridiMTM

–  gliautoveQorisonoortonormaliecosEtuisconolabasediunnuovo

sistemadiriferimentoicuiassisonolevariabililatenE

•  IvaloridellamatricediagonaleΣsonogliautovalori,deFanche

valorisingolari,inordinedecrescentesulladiagonale

–  ogniautovaloreèlavariabilitàdeidaEsulladimensionecherappresenta

àLamatricedipartenzasipuòapprossimareuElizzandonel

prodoQodelle3matriciiprimikvalorisingolarimaggioridiΣ

33

TVUM ×Σ×=

DataIntensiveApplicaEons

RecommenderSystems(1)

EsempiodipredizioneconSVD

34

VkT

Dim1 -0.44 -0.57 0.06 0.38 0.57

Dim2 0.58 -0.66 0.26 0.18 -0.36

Uk Dim1 Dim2

Alice 0.47 -0.30

Bob -0.44 0.23

Mary 0.70 -0.06

Sue 0.31 0.93 Dim1 Dim2

Dim1 5.63 0

Dim2 0 3.23

Tkkkk VUM ×Σ×=

•  SVD:

•  raEngprevistodelprodoQoi(EatPrayLove)perl‘utenteu(Alice)coniprimi2autovalori(k=2):

=3+(0.47x5.63x0.38+-0.3x3.23x0.18)=3.84

)()(ˆ EPLVAliceUrr Tkkkuui ×Σ×+=

DataIntensiveApplicaEons

FilmMmatricedira>nguten>-film

Page 17: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

ProiezionediUeVTnellospazio

bidimensionale(k=2)

35

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

BobMary

Alice

Sue

EatPrayLove

PreQyWoman

Twins

DieHard

Terminator

DataIntensiveApplicaEons

Previsioni:e.g.AlicedovrebbeprediligerepiùPre>yWomanrispeQoaglialtrifilm,

MaryinveceEatPrayLove,mentreSueapprezzeràTwins(similaritàcoseno)

piùl’angoloè

piccolo,maggiore

èlasimilarità

RecommenderSystems(1)

RiduzionedelladimensionalitàconSVD:

Conclusioni

•  MatrixfactorizaEonSVD

–  IndividuazionedeifaQorilatenE,ossialedimensionidelnuovospazio

–  Generaapprossimazionidimatriciabassorangok(num.autovaloriscelE)

–  ProiezionedioggeFeutenEnellostessospazion-dimensionale

•  laqualitàdellaprevisionedipendedallagiustasceltadik,ossiadalnumerodeivalorisingolari

–  IparametripossonoesseredeterminaEeoFmizzaEsolosuesperimenE

inundeterminatodominio

–  Korenetal.2009harilevatochedinormasioQegonorisultaEmigliori

con20-100faQori

–  perciòl’accuratezzadellerecommendaEonpuòanchediminuirerispeQo

all’impiegodellamatricediraEngoriginaleconvaloridikinadeguaE

36DataIntensiveApplicaEons

Page 18: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

RegoleAssociaEve

•  UElizzatecomunementeperl’analisiimpersonaledei

comportamenEdiacquisto

–  “sel’utenteacquistabirra,acquistaanchepannolininel70%deicasi”–  leregoleassociaEvesiricavanodall’analisidallefrequenzedelle

combinazionidiacquistodall’interoinsiemeditransazionidiacquisto

•  Leregoleassocia>vesonoimplicazionistaEsEchedelEpo

XàY,es:birraàpannolini

–  ingeneraleXeYpossonocontenerepiùprodoF

•  Misurediaccuratezzadelleregole:supportoeconfidenza–  ilsupportodiunaregolaèilnumeroditransazioni(dituFgliutenE)

doveXèacquistatoinsiemeadY,divisoilnum.totaleditransazioni

–  laconfidenzahalostessonumeratoredelsupporto,mentreil

denominatoreèilnum.delletransazionichecontengonoX

–  UElizzaEanchecomecut-offperscegliereleregolemigliori

37DataIntensiveApplicaEons

RecommenderSystems(1)

RaccomandazionibasatesuRegole

AssociaEve

•  Approcciopiùsemplice

–  TrasformareraEng(es1-5)inbinario

–  VoE:1=sesopralamediautente

•  EsempiodiregolaassociaEva:

–  Item1→item5

–  supporto(2/4),confidenza(2/2)

•  FormulareraccomandazioniperCarl(metododibase)

–  EstrarreleregoleassociaEvedalsetditrasazioni–  DeterminareiprodoFnonacquistaEdaCarl,es.item5

–  Determinareleregolerilevan9perCarlinbasealleproprietransazioni,adesempiolaregolaitem1->item5èrilevanteperCarlperchéha

acquistatoitem1manonitem5

–  OrdinarelerecommendaEoninbaseallaconfidenzadelleregole

rilevanE

38

Item1

Item2

Item3

Item4

Item5

Carl 1 0 0 0 ?

Mike 1 0 1 0 1

Jake 1 0 1 0 1

Tom 0 0 0 1 1

Phill 0 1 1 0 0

DataIntensiveApplicaEons

esclusoCarlesclusoCarl

Page 19: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

MetodiProbabilisEci

•  Ideadibase:–  qualèlaprobabilitàcheunutenteesprimaunraEngradunprodoQop

daEiraEngdell’utenteedituFglialtriutenE?

–  siaYlavariabilealeatoriarelaEvaalraEngsupedXiraEngdell’utente–  quindioccorrecalcolareP(Y,X)=P(Y|X)P(X)=P(X|Y)P(Y)(bayes)–  assunzione:iraEngXisuiprodoFdsonoconsideraEindipendenEtraloro

•  EsistonotecnicheinleQeraturaancorapiùcomplesse

–  UElizzodiclustering,BayesianNetwoks,pLSA…39DataIntensiveApplicaEons

dato che P(X) è invariante rispetto ad Y è sufficiente

determinare quel Y che massimizza argmaxY

P(Xi |Y ) ⋅P(Y )i=1

d

RecommenderSystems(1)

MetodiProbabilisEci:Esempio

40

Item1 Item2 Item3 Item4 Item5

Carl 1 3 3 2 ?

Mike 2 4 2 2 4

Jake 1 3 3 5 1

Tom 4 5 2 3 3

Phill 1 1 5 2 1

ValutazionidiCarl

X=[Item1=1,Item2=3,Item3=3,Item4=2]

Qualèlavalutazionepiù

probabilediCarlper

item5?

DataIntensiveApplicaEons

occorredeterminarequalèilvalorediitem5chemassimizzalaprobabilitàcondizionata

P(X=[Item1=1,Item2=3,Item3=3,Item4=2]|Item5=valore)perciòoccorrecalcolarelaprobabilitàperognivalorepossibilediitem5P(X|Item5=1)=P(Item1=1|Item5=1)xP(Item2=3|Item5=1)xP(Item3=3|Item5=1)xxP(Item4=1|Item5=1)xP(Item5=1)=2/2x1/2x1/2x1/2x2/4=0.062P(X|Item5=2)=0x0x0x0x0=0=P(X|Item5=5)P(X|Item5=3)=0x0x0x0x1/4=0P(X|Item5=4)=0x0x0x0x1/4=0

seperundatoYiinP(X|Y

i),nessun

utentehadatoadunprodoQoXjlo

stessovotodiCarl,laprob.P(Xj|Y

i)si

azzeraazzerandol’interaP(X|Yi)

Servonometodidismoothing

Page 20: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

SlopeOnePredictor(I)

•  PropostodaLemireandMaclachlan(2005)

•  Idea:IlprediQoreSlopeOneèsempliceesibasasuun

differenzialedipopolaritàtraglielemenEpergliutenE

–  Esempio:

–  p(Carl,item5)=2+(3-1)=4

•  Schemadibase:prenderelamediadiquestedifferenzedei

co-raEngperfarelaprevisione

•  Ingenerale:trovareunafunzionedellaformaf(x)=x+b–  Eccoperchéilnomeè"SlopeOne"

41

Item1 Item5

Carl 2 ?

Jack 1 3

-

DataIntensiveApplicaEons

RecommenderSystems(1)

SlopeOnePredictor(II)

•  Ilcasoprecedentemostrailcalcolodiunapredizioneconsiderando

unacoppiadiutenEeunacoppiadiprodoF

•  Lageneralizzazionedelmetodoavvienecreandounamediadelle

differenzeconpiùutenE

•  Nell’esempiointabellaalato,la

differenzamediadeipunteggitra

l’itemBeAè((5-3)+(3-4))/2=0,5–  basandosisuivoEdiCarleJack,che

hannovotatoentrambigliItem

–  Allostessomodo,ladifferenzamediatral’ItemCeAè(5-2)/1=3•  PerprevedereilvotodiLucysull’ItemArispeQoaisuoivoEsuBeC

–  usiamoilsuovotoperl’itemBoQenendo2+0,5=2,5–  analogamenteusiamoilsuovotoperl’itemCoQenendo5+3=8–  seguenellaprossimaslidecomecombinareiduerisultaE

42

ItemA ItemB ItemC

Carl 5 3 2

Jack 3 4 ?

Lucy ? 2 5

DataIntensiveApplicaEons

Page 21: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

SlopeOnePredictor(III)

•  SeunutentehavotatodiversielemenE,leprevisionipossono

esserecombinateuElizzandounamediaponderata

–  unabuonasceltaperilpesoèilnumerodiutenEchehannovalutato

entrambiglielemenE

•  Nell'esempioprecedente,sipuòquindiprevedereilvotodi

Lucyperl’ItemAcome:

DataIntensiveApplicaEons 43

Peso:2utenEhanno

votatosiaBcheA

Peso:1utentehavotato

siaCcheA

votopredeQodi

Lucysull’itemA

RecommenderSystems(1)

RiassuntosuimetodiCollaboraEve

Filtering

•  Pro:–  Faciledacomprendereeimplementare,funzionabeneinalcuniseQori

•  Contro:–  richiedecomunitàdiutenE,problemidisparsità,nessunaintegrazione

dialtrefonEdiconoscenza

•  QualèilmigliormetododiCF?

–  Difficiledadirsi,differenzetraimetodisonospessomoltopiccole(≈1%)

•  Comevalutarel’accuratezzadiprevisione?

–  MAE/RMSE:qualemetodoèmigliorepervalutareunRS?

•  Nonostanteentrambiabbianoproecontro.Ingeneraleilmetodopiù

uElizzatoèilRMSE

–  Serendipity(novitàesorpresageneratedalleraccomandazioni)

•  NonancorauElizzatoinmodoesteso

45DataIntensiveApplicaEons

Page 22: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

ilCasoGoogleNews

•  AggreganoEzieprovenienEdadiversemigliaiadifonE

•  LevisualizzaagliutenEloggaEinmodopersonalizzato

•  RaccomandazionebasatasuunapprocciocollaboraEvo

–  Sullabasedellastoriadeiclickdell'utenteaFvoedellastoriadella

comunità

•  Principalisfide:–  VastonumerodiarEcolieutenE

–  GenerarelistadirecommendaEonintemporeale(almassimoun

secondo)

–  FlussocostantedinuovielemenE

•  SononecessarisforzisignificaEviperquantoriguardaglialgoritmi,l'ingegneriaelaparallelizzazione

46DataIntensiveApplicaEons

RecommenderSystems(1)

GoogleNewsPersonalizaEonEngine

47DataIntensiveApplicaEons

Page 23: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

GoogleNews

•  Gliapproccimemory-basedpurinonsonodireQamente

applicabili

•  congliapproccimodel-basedc’èilproblemadiaggiornamento

conEnuodelmodello

–  VieneuElizzataunacombinazioneditecnichemodelandmemory-based

•  Partemodel-based:VengonouElizzate2tecnichediclustering

–  LatentSemanEcIndexingProbabilisEca(pLSI)comepropostoda

(Hofmann2004)

–  MinHash,metododihashingpersEmarelasimilaritàdidueinsiemi

•  Partememory-based:traQareinuoviutenEanalizzandolo

storicodelleco-visiteconaltriutenE•  MapReduce(diGoogle)èuElizzataperparallelizzarela

computazioneerenderlascalabile

48DataIntensiveApplicaEons

RecommenderSystems(1)

LeQeratura(I)

•  [AdomaviciusandTuzhilin2005]TowardthenextgeneraEonofrecommendersystems:A

surveyofthestate-of-the-artandpossibleextensions,IEEETransacEonsonKnowledgeand

DataEngineering17(2005),no.6,734–749

•  [Breeseetal.1998]EmpiricalanalysisofpredicEvealgorithmsforcollaboraEvefiltering,

Proceedingsofthe14thConferenceonUncertaintyinArEficialIntelligence(Madison,WI)

(GregoryF.CooperandSeraf´inMoral,eds.),MorganKaufmann,1998,pp.43–52

•  [Gediklietal.2011]RF-Rec:FastandaccuratecomputaEonofrecommendaEonsbasedon

raEngfrequencies,Proceedingsofthe13thIEEEConferenceonCommerceandEnterprise

CompuEng-CEC2011,Luxembourg,2011,forthcoming

•  [Goldbergetal.2001]Eigentaste:AconstantEmecollaboraEvefilteringalgorithm,

InformaEonRetrieval4(2001),no.2,133–151

•  [GolubandKahan1965]CalculaEngthesingularvaluesandpseudo-inverseofamatrix,

JournaloftheSocietyforIndustrialandAppliedMathemaEcs,SeriesB:NumericalAnalysis2

(1965),no.2,205–224

•  [Herlockeretal.2002]Anempiricalanalysisofdesignchoicesinneighborhood-based

collaboraEvefilteringalgorithms,InformaEonRetrieval5(2002),no.4,287–310

•  [Herlockeretal.2004]EvaluaEngcollaboraEvefilteringrecommendersystems,ACM

TransacEonsonInformaEonSystems(TOIS)22(2004),no.1,5–53

49DataIntensiveApplicaEons

Page 24: Recommender Systemsdia.apice.unibo.it/download/slides/recommendation...Recommender Systems (1) Recommender Systems Prima parte Programmazione di Applicazioni Data Intensive Laurea

RecommenderSystems(1)

LeQeratura(II)

•  [Hofmann2004]LatentsemanEcmodelsforcollaboraEvefiltering,ACM

TransacEonsonInformaEonSystems22(2004),no.1,89–115

•  [Huangetal.2004]ApplyingassociaEveretrievaltechniquestoalleviatethe

sparsityproblemincollaboraEvefiltering,ACMTransacEonsonInformaEon

Systems22(2004),no.1,116–142

•  [Korenetal.2009]Matrixfactoriza9ontechniquesforrecommendersystems,Computer42(2009),no.8,30–37

•  [LemireandMaclachlan2005]SlopeonepredictorsforonlineraEng-based

collaboraEvefiltering,Proceedingsofthe5thSIAMInternaEonalConferenceon

DataMining(SDM’05)(NewportBeach,CA),2005,pp.471–480

•  [Sarwaretal.2000a]ApplicaEonofdimensionalityreducEoninrecommender

systems–acasestudy,ProceedingsoftheACMWebKDDWorkshop(Boston),

2000

•  [ZhangandPu2007]ArecursivepredicEonalgorithmforcollaboraEvefiltering

recommendersystems,Proceedingsofthe2007ACMConferenceon

RecommenderSystems(RecSys’07)(Minneapolis,MN),ACM,2007,pp.57–64

50DataIntensiveApplicaEons

RecommenderSystems(1)

SoçwareperilcollaboraEvefiltering

•  EsistonodiversisoçwareperdiversepiaQaformeche

fornisconosistemidirecommendaEon

–  perlopiùinformadilibrerie(API)dausareall’internodiapplicazioni

•  Nellospecifico,molEsoçwareimplementanoletecnichedi

collaboraEvefilteringvistefinqui

–  EssendoilCFbasatosolosullamatriceutenE-prodoF,l’integrazione

nellapropriaapplicazioneèspessosemplicerispeQoadaltrisoçware

•  NellaprossimalezionevedremoMahout,unpackageJavacheoffremaggiorifunzionalità

•  Esistonoanchesoluzioniin-DBMS,ossiaincorporateinDBMS

comeRecDB,unrecommendaEonsystemintegratoin

PostgreSQL

DataIntensiveApplicaEons 51