Top Banner
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
24

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

Jul 14, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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