recommender systemsdia.apice.unibo.it/download/slides/recommendation...recommender systems (1)...
TRANSCRIPT
RecommenderSystems(1)
RecommenderSystemsPrimaparte
ProgrammazionediApplicazioniDataIntensive
LaureainIngegneriaeScienzeInforma9cheDISI–UniversitàdiBologna,Cesena
G.Domeniconi,G.Moro,R.Pasolini
DISIUniversitàdiBologna,Cesena
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ×Σ×=
kΣ
• 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
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
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
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
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
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
RecommenderSystems(1)
ilCasoGoogleNews
• AggreganoEzieprovenienEdadiversemigliaiadifonE
• LevisualizzaagliutenEloggaEinmodopersonalizzato
• RaccomandazionebasatasuunapprocciocollaboraEvo
– Sullabasedellastoriadeiclickdell'utenteaFvoedellastoriadella
comunità
• Principalisfide:– VastonumerodiarEcolieutenE
– GenerarelistadirecommendaEonintemporeale(almassimoun
secondo)
– FlussocostantedinuovielemenE
• SononecessarisforzisignificaEviperquantoriguardaglialgoritmi,l'ingegneriaelaparallelizzazione
46DataIntensiveApplicaEons
RecommenderSystems(1)
GoogleNewsPersonalizaEonEngine
47DataIntensiveApplicaEons
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
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