financial recommender system

32
Un Sistema di Raccomandazione Personalizzato per il Dominio Finanziario Relatore prof.ssa Francesca Rossi Laureando Co-relatore Simone Tiso Cristina Cornelio 12-02-2015

Upload: simone-tiso

Post on 12-Feb-2017

93 views

Category:

Science


0 download

TRANSCRIPT

Page 1: Financial Recommender System

Un Sistema di RaccomandazionePersonalizzato per il Dominio

Finanziario

Relatore

prof.ssa Francesca Rossi Laureando

Co-relatore Simone TisoCristina Cornelio

12-02-2015

Page 2: Financial Recommender System

Introduzione: sistemi di raccomandazione

Nati per guidare l’utentedurante un acquistoRiducono lo sforzodell’utenteNecessità dipersonalizzazione

2 of 32

Page 3: Financial Recommender System

Introduzione: sistemi di raccomandazione

Dominio finanziario:risultati complessi

difficoltà nella comprensione

Obiettivi:supporto utente e consulenti

sistema intuitivo!

3 of 32

Page 4: Financial Recommender System

Approcci esistenti

Sistemi stocastici:previsioni e correlazioni tra i dati

Neighborhood model (United States Patent 03/2014):dato un prodotto p, il modello individua i sei prodotti più vicini

a p sulla base del loro trends

Collaborative filtering:similarità tra prodotti (trends)

Vogliamo migliorare i risultati:

Profilando l’utente con CP-treesUsando il collaborative filtering

4 of 32

Page 5: Financial Recommender System

Collaborative filtering

Similarità (utente o prodotto): usando valutazioni degli utenti

5 of 32

Page 6: Financial Recommender System

Collaborative filtering

Matrice user-item: valutazioni (ratings) degli utenti

P1 P2 · · · Pj · · · Pn

U1 0.1 0.6 · · · 0 · · · 0.9

U2 0.1 0 · · · 0.1 · · · 0...

...... · · ·

... · · ·...

Ui 0 0.5 · · · 0.4 · · · 0.7...

...... · · ·

... · · ·...

Um 0.1 0.2 · · · 0.5 · · · 0.4

User-User collaborative filtering: suggerisce prodottiacquistati da utenti simili a Ui

Item-Item collaborative filtering: suggerisce prodotti simili aprodotti acquistati da Ui (+ scalabile, + qualità nelleraccomandazioni) 6 of 32

Page 7: Financial Recommender System

Item-Item CF: Similarità

Calcolo della similarità tra i prodotti

Dati due vettori contenenti i ratings dei prodotti Pi e Pj :similarità del coseno (vettori)

7 of 32

Page 8: Financial Recommender System

Item-Item CF: Predizioni

Calcolo delle predizioni

Pu,i =∑all similar items,N(si ,N∗Ru,N)

∑all similar items,N(|si ,N |)

8 of 32

Page 9: Financial Recommender System

The cold start problem

Problema: per nuovi utenti otteniamo righe vuote !

P1 P2 · · · Pj · · · Pm

U1 0.1 0.6 · · · 0 · · · 0.9

U2 0.1 0 · · · 0.1 · · · 0...

...... · · ·

... · · ·...

Ui 0 0 · · · 0 · · · 0...

...... · · ·

... · · ·...

Un 0.1 0.2 · · · 0.5 · · · 0.4

Non riusciamo a calcolare la predizione per Ui

9 of 32

Page 10: Financial Recommender System

Sistemi di raccomandazione: Conversational

Estrazione delle preferenze dalla barra di ricercaQuery = uno o più valori delle caratteristiche (features)

dei prodottiEsempio: “giacca nera t-shirt rossa” per descrivere un abito

A Framework for Preference Dominance

Figure 4.3: Interaction model of the user with the recommender.

4.3 A Framework for Preference DominanceOne major purpose of IR is to reduce irrelevant content and provide users with more

pertinent information or product, in an attempt to o set information overload. One

key operation is dominance : comparison between pairs of available options to nd

out which options are dominated and consequently eliminated by the system. An

option q is said to be dominated if there exist at least another option q that is pre-

ferred over q for all the orderings that satisfy the set of preferences that are collected

from the user during the dialogue with the system.

RSs can be subtle and delicate to understand and control (Massa & Bhattacharjee

2004). Users often see RSs as a black box and are not aware of their working model

(Denker et al. 2003). In fact, with current RSs it is tricky for the user to control the

recommendation process so that if the RS starts to give poor quality recommenda-

tions, usually the user just stops using it (Zaslow 2002).

This section presents a framework for preference reasoning within RSs. This can

be considered as a modest step towards bringing a kind of a comprehensive picture

of the preference dominance engine which represents the core of item selection in

RSs. Figure 4.6 summarizes the framework. All the details are analytically discussed

through this section and also the following sections. The case study in this work

(a particular kind of conversational RS described in section 4.2), implements this

framework.

4.3.1 Ultimate goal: inference

Given a set Ω of possible con gurations (as de ned in Section 4.2.2), the system

needs to know which con gurations would be closer to what the user really wants.

Allowing the user to focus only on recommended queries requires the system to

90

Prodotto = assegnamento di tutte le features (outcome)

10 of 32

Page 11: Financial Recommender System

Preferenze utente

Vogliamo una rappresentazione delle preferenze dell’utente che:gestisca le dipendenze tra features

Esempio: “preferisco la t-shirt rossa se ho giacca nera epantaloni neri”

sia compatta, permetta inferenza efficiente

Tra i vari modi di rappresentare le preferenzeabbiamo studiato i CP-trees

11 of 32

Page 12: Financial Recommender System

CP-trees

CP-tree: albero orientato dove ogni nodo rappresenta unavariabile (feature):

ogni arco identifica un assegnamento della variabile ed è

orientato dal nodo genitore al nodo figlio

Features binarie (es: s feature “t-shirt rossa” presente, s

feature “t-shirt rossa” non presente)

Jj ≥ j (feature più importante)

Pp ≥ p

Ss ≥ s Ss ≥ sSs ≥ sSs ≥ s

Pp ≥ p

jj

p p pp

jps ≥ jps ≥ jps ≥ jps ≥ jps ≥ jps ≥ jps ≥ jps

importanza delle variabili e inducono ordinamenti totali suglioutcomes

12 of 32

Page 13: Financial Recommender System

Inferenza CP-trees

Consideriamo la seguente query: “giacca nera” (Outcome: jps)Query proposte dal sistema:

“giacca nera pantaloni neri” (jps) (accettata)“giacca nera t-shirt rossa” (jps) (rifiutata)

CP-tree risultante Jj ≥ j

Pp ≥ p

Ss ≥ s

j

p

jps ≥ jps (ordinamento indotto dal CP-tree)

13 of 32

Page 14: Financial Recommender System

Distanza tra CP-trees

Una volta capito come rappresentare l’utenteCalcoliamo la distanza per ogni coppia di utentiAbbiamo definito tre tipi di distanze tra 2 utenti lavorando suordinamenti indotti dai loro CP-trees

COD

Variante distanza di Hamming per ogni outcome

negli ordinamenti + importanza features

SWAPD

Swap tra outcomes adiacenti per passare da un

ordinamento all’altro

MATD

Associamo una matrice ad ogni ordinamento,

poi calcoliamo la distanza matriciale

Grafo delle distanze

U1

U2 U3

d1,2 d1,3

d2,3

14 of 32

Page 15: Financial Recommender System

Distanza tra utenti: modello COD

Variante della distanza di Hamming + gerarchia featuresDati due CP-trees CPs e CPt :

dist(CPs ,CPt) =1

mn

m

∑i=1

n

∑j=1

oCPs ij −oCPt ij

+p(oCPsij)∗oCPsij−p(oCPtij)∗oCPtij

oCPsijoCPtij

dove p(oij) è il peso applicato alla feature oij

15 of 32

Page 16: Financial Recommender System

Modello COD: esempio

Utente U1

Xx ≥ x

Yy ≥ y Yy ≥ y

x x

Utente U2

Yy ≥ y

Xx ≥ x Xx ≥ x

y y

ord(U1) = xy ≥ xy ≥ xy ≥ xy

ord(U2) = xy ≥ xy ≥ xy ≥ xy

xy

2

xy

+

xy

2

xy

+

xy

1

xy

+

xy

1

xy

→ 68 = 0,75

16 of 32

Page 17: Financial Recommender System

Distanza tra utenti: modello SWAPD

Numero di scambi per passare da un ordinamento ad un altro

ord(U1) = xy ≥ xy ≥ xy ≥ xy , ord(U2) = xy ≥ xy ≥ xy ≥ xy

swap(3,4)→ xy ≥ xy ≥ xy ≥ xy

swap(2,3)→ xy ≥ xy ≥ xy ≥ xy

SWAPD(ord(U1),ord(U2)) = 2

17 of 32

Page 18: Financial Recommender System

Distanza tra utenti: modello MATD

Calcoliamo una matrice per ogni utente

mij =

1 se i è preferito a j ,−1 se j è preferito a i ,0 altrimenti.

MU1 =

0 1 1 1−1 0 −1 −1−1 1 0 1−1 1 −1 0

MU2 =

0 1 1 1−1 0 1 1−1 −1 0 1−1 −1 −1 0

d(MU1 ,MU2) =12

4

∑i=1

4

∑j=1

mU1ij−mU2ij

=12(0+2+1+1) = 2

18 of 32

Page 19: Financial Recommender System

Calcolo delle predizioni

Us

r(U1,Pj) r(U2,Pj) . . . r(Uk−1,Pj) r(Uk ,Pj)

d1 d2 dk−1

dk

U1

U2 U3

d2 d3

Calcoliamo la predizione come somma dei ratings, pesatasull’inverso della distanza tra utenti

r(Us ,Pj) =∑k

i=1 r(Ui ,Pj)∗1/di

1/d1+1/d2+ . . .+1/dk

19 of 32

Page 20: Financial Recommender System

Architettura del sistema

Sviluppo modulare e basato sulle responsabilitàSeparazione tra vista, controllo e datiSviluppo top-down del prototipo

Individuazione di problemi

Scomposizione in sottoproblemi

20 of 32

Page 21: Financial Recommender System

Rappresentazione dei dati

Utenti rappresentati con una struttura ad albero binario(Graph library)Prodotti rappresentati in una struttura XML

21 of 32

Page 22: Financial Recommender System

Linguaggi utilizzati

HTMLAJAX per caricamento asincrono dei dati dal serverFramework JQuery per gestire gli eventi della viewPHP lato server per la gestione della parte computazionale

22 of 32

Page 23: Financial Recommender System

Scenario: dominio finanziario

Un utente deve scegliere dove investireIdea generale il suo investimentoVogliamo raccomandargli il miglior prodotto, secondo le sue

preferenze!

23 of 32

Page 24: Financial Recommender System

Dialogo user-system

L’utente inserisce una query nella barra di ricercaIl sistema elabora la queryIl sistema propone altre due query all’utente

24 of 32

Page 25: Financial Recommender System

Analisi sperimentale

COD SWAPD MATD vs ITEM-ITEM

Quanto sono migliori rispetto all’item-itemQuale dei 3 modelli è miglioreIdentifichiamo tre parametri:

nUser: numero di utenti;

nFeatures: numero di features binarie considerate;

spars: indice di sparsità della matrice user-item.

Domini dei parametri:D(nUser) = 10,20, . . . ,100;D(nFeatures) = 2,3, . . . ,7;D(spars) = 0.1,0.2, . . . ,0.9.

25 of 32

Page 26: Financial Recommender System

Metodo di valutazione

P1 P2 P3 P4UA 0.1 0.6 0 0.9UB 0.3 0.1 0.6 0.1UC 0 0.5 0.8 0.7UD 0.1 0.2 0 0.4

Vettore dei prodotti, ordinati in due modi

puB = ((P3,0.6),(P1,0.3),(P2,0.1))→ Vettore predizioni

quB = ((P3,0.7),(P2,0.4),(P1,0.1))−→ Vettore reale

Errore medio di valutazione

Eui =1s ∑s

j=1 |pos(Pj ,pui )−pos(Pj ,qui )|= 13(0+1+1) = 0.67

26 of 32

Page 27: Financial Recommender System

Metodo di valutazione

Media su nUsers utenti per ogni simulazione

K =1

nUsers

nUsers

∑i=1

Eui

Media su nTest = 300 simulazioni

Kmed =1

nTest

nTest

∑j=1

Kj

27 of 32

Page 28: Financial Recommender System

Risultati: variazione features

2 3 4 5 6 7

0

10

20

30

40

nFeatures

Avera

geErr

or ItemItem

COD

SWAPD

MATD

nUser=100, spars=0.9

28 of 32

Page 29: Financial Recommender System

Risultati: variazione utenti

10 20 30 40 50 60 70 80 90 1001

1.5

2

2.5

nUsers

Avera

geErr

or ItemItem

COD

SWAPD

MATD

spars=0.9

29 of 32

Page 30: Financial Recommender System

Risultati: variazione sparsità

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4

2.6

spars

Avera

geErr

or

ItemItem

COD

SWAPD

MATD

nUser=10030 of 32

Page 31: Financial Recommender System

Conclusioni

Dimostriamo che l’errore medio è minore rispetto ad Item-Itembuoni investimenti

personalizzati per l’utente

COD, SWAPD e MATD lavorano molto meglio di Item-Itemquando le matrici sono molto sparse

quando il numero di utenti è elevato

Sistema semplice e intuitivo per l’utente

31 of 32

Page 32: Financial Recommender System

Future work

Usare CP-nets acicliche e CP-nets ad albero perrappresentare le preferenze degli utente econfrontarle con l’approccio con CP-treesUsare CP-trees parzialiMigliorare il metodo di estrazione dellepreferenze

algoritmi legati alle neuroscienze

Introdurre dinamicità nei CP-treesaggiornamento preferenze utente

aggiornare l’ordinamento nei valori delle features

32 of 32