Top Banner
Approcci Matematici per Recommender Systems Semantic Web Access and Personalization Research Group http:// www.di.uniba.it/~swap Dipartimento di Informatica Ricci Giuseppe PhDS student in Computer Science 27 Novembre 2013 Thu Hub Bari Club degli Sviluppatori Puglia
20

Presentazione Aggiornamento Agile Club Sviluppatori Puglia

May 09, 2015

Download

Technology

Giuseppe Ricci

Presentazione tenuta per l'aggiornamento agile del club sviluppatori Puglia dove ho fatto un po una summa del mio lavoro di dottorato parlando di recommender systems e tecniche di fattorizzazione applicate a questi sistemi.
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: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Approcci Matematici per Recommender Systems

SemanticWeb Access and Personalization Research Grouphttp://www.di.uniba.it/~swap Dipartimento

di Informatica

Ricci GiuseppePhDS student in Computer Science

27 Novembre 2013Thu Hub Bari

Club degli Sviluppatori Puglia

Page 2: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Short CV

2005: Laurea in Matematica2006: Corso di Formazione Professionale in Tecnico Informatico (webmaster)2008: Mater in Tecnologie per il Telerilevamento Spaziale2009-2010: Assegnista di Ricerca presso CNR-ISAC uos Lecce2011-2013: PhD presso Dipartimento di Informatica

Collaborazioni con:

PBX Network srl Roma: realizzazione di un social network/community virtualeStudio di grafica Angela Di Liso: realizzazione di siti web con CMS Wordpress

Page 3: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Iniziamo..Recommender Systems

• Hanno l’obiettivo di orientare l'utente in modo personalizzato verso oggetti (item) utili o interessanti in un grande spazio di possibili opzioni [Burke02]

• Processano in genere una matrice utenti-item in cui è memorizzato il feedback (rating) degli utenti

[Burke02] Burke, R. Hybrid recommender systems: Survey and experiments. User Modeling and User-Adapted Interaction, 12(4): 331–370, 2002.

Page 4: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Ogni riga di P può rappresentare il legame delle associazioni tra un utente e le features. Le righe di Q possono rappresentare il legame tra un item e le features.

Stato dell’arte: tecniche per Matrix Factorization 1/2

xij^ = pi * qj eij = xij - xij^ eij < eps

Varianti: Regularized MF, BRIS MF, Semipositive and positive MF, Transductive MF….

Matrice dei rating

Page 5: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Stato dell’arte: tecniche per Matrix Factorization 2/2

MF usata in letteratura: Singular Value Decomposition (SVD) introdotta per la prima volta da Simon Funk nel NetFlix Prize (*).Obiettivo SVD: ridurre la dimensionalità, ossia il rango, della matrice utenti-item R.La SVD scompone la matrice dei rating, R, nel prodotto di tre matrici:

TR P Q

Matrici ortonormaliMatrice diagonale

(*) concorso pubblico organizzato dalla compagnia NetFlix (che offre un servizio di noleggio di DVD e videogiochi via Internet per individuare un sistema in grado di migliorare del 10% almeno le prestazioni dell'algoritmo di suggerimento dei film. Il 21 settembre 2009, il premio di 1.000.000 di dollari USA è stato vinto dal team BellKor’s Pragmatic Chaos, che ha battuto l’algoritmo Cinematch, usato fino ad allora da NetFlix.

Page 6: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Approccio multidimensionaleLe matrici e le tecniche di fattorizzazione di matrici presentano un problema:prendono in considerazione solo le usuali dimensioni di utenti e item. Questonon permette di integrare informazioni quali possono essere ad esempio quellerelative al contesto.

users

items

context

Tensore

Page 7: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Tensori e Fattorizzazioni Tensoriali

Tensore: una “matrice a più dimensioni”.

Anche ai tensori è possibile applicare le tecniche di fattorizzazione che generalizzano la MF.

In letteratura la tecnica più utilizzata è quella della High Order Singular Value Decomposition (HOSVD).

Page 8: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

HOSVD nei RS

Baltrunas et al. presentano un modello che viene denominato Multiverse Recommendations: è in grado di integrare le informazioni relative al contesto modellando i dati come user-item-contesto mediante un tensore N-dimensionale;

Symeonidis et al. HOSVD applicano HOSVD ad un sistema di social tagging.Social tagging: processo tramite il quale gli utenti inseriscono metadata sottoforma di keyword (o parole chiave) al fine di classificare e categorizzare gli items. Consigliano agli utenti dei tags in base ai tag che gli altri utenti hanno usato per gli stessi articoli, al fine di sviluppare un consenso comune su quali tag descrivono meglio un elemento.L’algoritmo proposto dagli autori:• Sviluppa un unico framework• Modella i tre tipi di entità che si riscontrano in un social tagging system: utenti, items e tags;

Chen et al. propongono CubeSVD: Personalized web search per scoprire le relazioni latenti tra: user, query, web pages. Tensore ricostruito misura le associazioni tra utenti, query, pagine web. Elementi: < u, q, p, w>: w misura il gradimento della pagina p proveniente come risultato della query q fatta dall'utente u.

Page 9: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Vantaggi e Svantaggi

Dall’analisi della letteratura sulla HOSVD emergono vantaggi e svantaggi:

Svantaggi Multiverse Reccomendation TF Risorse computazionali non indifferenti Applica abbastanza pesantamente l’algoritmo di minimizzazione di una funzione (Stochastic Gradient Descend, SGD). Non sempre corretto usare il valore 0 per i valori mancanti

Svantaggi HOSVD applicata al sistema social tagging Non tiene conto degli aspetti computazionali: ricavare 9 matrici con la SVD è costoso

Svantaggi CubeSVD Elevata quantità di dati da gestire Sparsità del tensore Nessuna alternativa all’uso del valore 0.

Page 10: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Altre TF e PARAFACOltre a HOSVD esistono altri tipi di fattorizzazione tensoriale:

• PARAFAC o CANDECOMP• TUCKER, PARATUCKER• DEDICOM• ….Esaminiamo PARAFAC.Dato un tensore X, PARAFAC lo decompone come somma di tensori di rango 1:

PARAFAC poco applicata nell’ambito dei RS.

Page 11: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

L’algoritmo TFMAP usa PARAFAC per il top-N context-aware recommendations di mobile applications. Tensore di 3 dimensioni fattorizzato: users, items e context types. Calcola per l’user m la preferenza per l’item i sotto il context type k.L’user m preferisce usare una app, l’item i , quando è all’aperto ma se si trova in un luogo chiuso (dunque in un contesto diverso) preferirebbe usarne un’altra.

OUTSIDER: Acar et al. usano PARAFAC applicata ai dati di EEG (electroencephalography) concentrandosi sul problema dei missing values.Sviluppano un algoritmo, CP-WOPT (CPWeighted OPTimization), che implementa una fattorizzazione di tipo PARAFAC ma pesata cioè modella solo i valori noti.Con delle sperimentazioni numeriche gli autori dimostrano come CP-WOPT può fattorizzare con successo un tensore con una quantità di dati mancanti pari o superiore al 70%. CP-WOPT è più veloce e accurato di altri algoritmi noti in letteratura.

PARAFAC nella letteratura dei RS e non solo

Yue Shi, Alexandros Karatzoglou, Linas Baltrunas, Martha Larson, Alan Hanjalic, and Nuria Oliver. Tfmap: optimizing map for top-n context-aware recommendation. In Proceedings of the 35th international ACM SIGIR conference on Research and development in information retrieval , SIGIR ’12, pages 155–164, New York, NY, USA, 2012. ACM.E. Acar, D. Dunlavy, T. Kolda, M. Mørup. Scalable Tensor Factorizations with Missing Data. In Proc. of the Tenth SIAM International Conference on Data Mining, SIAM, 2010.

Page 12: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Challenges affrontate• Gestione dell’informazione contestuale: Tensori

tempo posizione geografica social context attività weather emotional state social network ….

• Utilizzo delle tecniche di TF PARAFAC• Gestione opportuna dei missing value CPWOPT.

Challenge aperta:identificare una o più tecniche che permettono di capire se un fattore contestuale influenza il rating o meno.ES.: l’utente vede a casa (contesto: posto) il film Matrix, è da solo (contesto: compagnia), il tempo (contesto: weather) è bello. Il rating è 4.Domanda: se l’utente avesse visto il film al cinema o con gli amici il rating sarebbe cambiato?

Page 13: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Sperimentazioni con CP-WOPT 1/3

CP-WOPT è stato sviluppato in Java in modo da avere un algoritmo equivalente.Con il codice sviluppato sono state condotte diverse sperimentazioni:1. un caso di studio piccolo2. Movielens 100k.

Per 1. : 7 utenti reali a cui è stato chiesto di votare un certo numero di film (appartenti al dataset Movielens) considerando 3 fattori contestuali cioè se preferiscono vedere il film:(i) a casa o al cinema; (ii) con gli amici o con il partner;(iii) con o senza la famiglia. I rating variano nel range 1-5 nel senso che per ciascun fattore contestuale:• i rating 1 e 2 esprimono un forte e medio interesse per il primo termine• i rating 3 esprime neutralità;• i rating 4 e 5 esprimono un modesto e forte preferenza per il secondo termine.

Page 14: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Metriche di Valutazione

Mean Absolute Error (MAE):

Root Mean Square Error (RMSE):

Accurancy:

Coverage:

Page 15: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Sperimentazioni con CP-WOPT 2/3

I risultati sono misurati in termini di accurancy (acc) come la percentuale di valori correttamente ricostruiti e di coverage (cov) come la percentuale di elementi non nulli ricostruiti.

Con l’ipotesi di 100000 iterate massime: acc = 94.4%cov = 91.7%.

Da questo studio limitato

Con questo metodo si può dedurre:American Pie è tipicamente guardato a casa, con gli amici senza la famiglia;Titanic è visto al cinema con il partner o la famiglia.

Page 16: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Sperimentazioni con CP-WOPT 3/3

Per 2. :

Si tratta di una sperimentazione in vitro che usa CP-WOPT per un set di dati più ampio estratto da Movielens 100k.Input: tensore di dimensioni 100 users, 150 movies, 21 occupations (informazione contestuale).

Misure di accuratezza:

acc = 92,09%cov = 99,96%MAE = 0,60 RMSE = 0,93.

Questi risultati sono in linea con quelli riportati in letteratura.

Page 17: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Task: importanza fattore contestualeI dati di Movielens 100k sono stati usati per capire se un fattore contestuale è importante o meno.utenti, film, occupazione dell’utente capire se gli utenti che svolgono la stessa professione hanno un genere di film preferito, per es: i poliziotti preferiscono i film polizieschi? I medici o infermieri preferiscono i film ambientati in ospedale?In Movielens 100k ci sono 943 utenti, 1682 film, 19 generi, 21 occupazioni.

Tensore sparso rating

CP-WOPT

Tensore ricostruito

Smontaggio del tensore per recuperare i dati generi/occupazioniUso di una tecnica basata sulle medie e una sulla tecnica

dell’Analisi delle Corrispondenze: risultati contrastanti!!!

Page 18: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Ulteriori Sperimentazioni

ConTexTRS: sistema di suggerimento turistico (www.contextrs.it) presentato nel corso del Festival dell’Innovazione a Maggio 2013 acquisizione di dati.

Ci sono 51 utenti, 63 POI e 4 contesti.Dataset molto sparso: 246 rating noti su 12852 elementi del tensore.

MAE = 0.4730 e RMSE = 1.0591acc = 91.8919 e cov = 99.8816

LDOS - CoMoDa dataset: contiene i rating dati dagli utenti per i film ma con contesto esplicito. 268 utenti, 4381 film, 19 features contestuali (ce ne sono altre, sono state selezionate solo queste):

Time, Daytype, Season, Location, Weather.

MAE = 0.5456 e RMSE = 0.82acc = 91.41 e cov = 99.99

Page 19: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Tirando le somme….

L’approccio con i Tensori:• permette di incorporare l’informazione contestuale• è possibile applicare le tecniche di fattorizzazione.

L’approccio con CP-WOPT:• risolve bene il problema dei missing values (ottima coverage)• i risultati ottenuti sono in linea con quelli ottenuti in letteratura• permette di elaborare raccomandazioni comunque buone.

Grosso svantaggio:• l’algoritmo risulta essere lento per grossi dataset!• l’algoritmo sviluppato in Java da problemi con l’Heap (occupazione

memoria).

Problemi aperti:• context weigthing sperimentazione con Reti Bayesiane.

Page 20: Presentazione Aggiornamento Agile Club Sviluppatori Puglia

Grazie per l’attenzione!!domande, curiosità…

[email protected]