Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Presentation Master Degree
1. Tesi di Laurea Magistrale
in
Accesso all’Informazione ed Elaborazione del Linguaggio Naturale
Selezione automatica di attributi estratti
dalla Linked Open Data cloud in
un recommender system basato su grafi
Simone Rutigliano
Corso di Laurea Magistrale in Informatica
29 Aprile 2015
Relatore:
Chiar.mo Prof. Giovanni Semeraro
Correlatore:
Dr. Cataldo Musto
3. Recommender System - graph-based representation
Nodi
Utenti
Item
Archi
Preferenza dell’utente
verso quell’item
Simone Rutigliano 29 Aprile 2015 2
4. Come raccomandare gli item?
Algoritmo utilizzato per determinare l’importanza di un nodo in un
grafo `e PageRank
Sviluppato da Larry Page e Sergey Brin nel 1998 presso la
Stanford University
Algoritmo di ricerca di Google
“The heart of our software is PageRank TM. . . it provides the
basis for all of our web search tools.”
Lo score restituito dal PageRank per ogni item pu`o essere
utilizzato per ordinare gli item dal pi`u rilevante al meno
rilevante
Simone Rutigliano 29 Aprile 2015 3
5. PageRank
Valuta l’importanza di un documento sulla base del numero e
della qualit`a di connessioni che quel documento avr`a all’interno del
grafo di appartenza
Simone Rutigliano 29 Aprile 2015 4
6. PageRank con Priorit`a
Il pageRank classico assegna una equa probabilit`a ad ogni
arco del grafo
Variante con Priorit`a definita in [Hav03] introduce un bias a
favore di alcuni nodi
enfatizza maggiormente le preferenze dell’utente
Simone Rutigliano 29 Aprile 2015 5
7. Applicazione del PageRank in un RS
`E possibile utilizzare il PageRank come algoritmo di
raccomandazione in un Recommender System graph-based
Simone Rutigliano 29 Aprile 2015 6
11. Estensione del RS
`E possibile arricchire il grafo aggiungendo nuove informazioni
relative agli item?
Simone Rutigliano 29 Aprile 2015 10
12. Linked Open Data cloud
Metodologia per pubblicare, condividere e collegare
dati strutturati sul web
Simone Rutigliano 29 Aprile 2015 11
13. Linked Open Data cloud
Collezione (Cloud) di dataset:
Interconnessi fra loro (Linked)
Fruibili liberamente e gratuitamente (Open)
Descritti attraverso RDF
Simone Rutigliano 29 Aprile 2015 12
17. Integrare LOD nel Recommender System. . .
Partendo dal grafo User-Item
Simone Rutigliano 29 Aprile 2015 16
18. . . . Integrare LOD nel Recommender System. . .
Espandendo il film Inglorious Basterds attraverso la Linked Open
Data
Simone Rutigliano 29 Aprile 2015 17
19. . . . Integrare LOD nel Recommender System. . .
Espandendo il film Django attraverso la Linked Open Data
Simone Rutigliano 29 Aprile 2015 18
20. . . . Integrare LOD nel Recommender System. . .
Espandendo anche gli altri film presenti nel grafo avremo
Simone Rutigliano 29 Aprile 2015 19
21. . . . PageRank nel nuovo grafo
Riapplicando il PageRank si potrebbe avere un nuovo ranking
Simone Rutigliano 29 Aprile 2015 20
22. PageRank + LOD: pro e contro
PRO
nuove connessioni nel grafo
CONTRO
maggiore costo computazionale
per l’esecuzione del PageRank
alcune propriet`a non sono
rilevanti
Simone Rutigliano 29 Aprile 2015 21
23. PageRank + LOD: pro e contro
PRO
nuove connessioni nel grafo
CONTRO
maggiore costo computazionale
per l’esecuzione del PageRank
alcune propriet`a non sono
rilevanti
Simone Rutigliano 29 Aprile 2015 21
24. PageRank + LOD: pro e contro
PRO
nuove connessioni nel grafo
CONTRO
maggiore costo computazionale
per l’esecuzione del PageRank
alcune propriet`a non sono
rilevanti
Simone Rutigliano 29 Aprile 2015 21
25. Tecniche di feature selection
SOLUZIONE: Applicare tecniche di feature selection!
Simone Rutigliano 29 Aprile 2015 22
26. Research question
1 L’uso delle propriet`a della LOD
migliorano le performance del
recommender?
2 Si possono trarre vantaggi
dall’utilizzo di tecniche di FS sulla
LOD?
3 Esiste una connessione tra la scelta
della tecnica di FS e il
comportamento dell’algoritmo?
4 Come si comporta la nostra
metodologia rispetto allo stato
dell’arte?
Simone Rutigliano 29 Aprile 2015 23
27. Research question
1 L’uso delle propriet`a della LOD
migliorano le performance del
recommender?
2 Si possono trarre vantaggi
dall’utilizzo di tecniche di FS sulla
LOD?
3 Esiste una connessione tra la scelta
della tecnica di FS e il
comportamento dell’algoritmo?
4 Come si comporta la nostra
metodologia rispetto allo stato
dell’arte?
Simone Rutigliano 29 Aprile 2015 23
28. Research question
1 L’uso delle propriet`a della LOD
migliorano le performance del
recommender?
2 Si possono trarre vantaggi
dall’utilizzo di tecniche di FS sulla
LOD?
3 Esiste una connessione tra la scelta
della tecnica di FS e il
comportamento dell’algoritmo?
4 Come si comporta la nostra
metodologia rispetto allo stato
dell’arte?
Simone Rutigliano 29 Aprile 2015 23
29. Research question
1 L’uso delle propriet`a della LOD
migliorano le performance del
recommender?
2 Si possono trarre vantaggi
dall’utilizzo di tecniche di FS sulla
LOD?
3 Esiste una connessione tra la scelta
della tecnica di FS e il
comportamento dell’algoritmo?
4 Come si comporta la nostra
metodologia rispetto allo stato
dell’arte?
Simone Rutigliano 29 Aprile 2015 23
30. Protocollo Sperimentale - Datasets
Movielens dataset
Rating di film estratto dal sito di MovieLens dal GroupLens
Research (http://movielens.org)
Users: 943
Films: 1.682
Binary ratings: 100.000
Sparsity: 93,69%
Positive Rating: 55,17%
Avg. Rating per user: 84,83
Avg. Rating per item: 48,48
Simone Rutigliano 29 Aprile 2015 24
31. Protocollo Sperimentale - Datasets
Books dataset
Rating di libri usato per la Challenge di ESWC 2014
Users: 6.181
Books: 6.733
Binary ratings: 72.372
Sparsity: 99,83%
Positive Rating: 45,85%
Avg. Rating per user: 11,70
Avg. Rating per item: 10,74
Molto sparso
Sbilanciato verso rating negativi
Simone Rutigliano 29 Aprile 2015 25
32. Protocollo Sperimentale - Setup
Ogni esperimento sar`a dato dalla combinazione dei seguenti fattori
Tecnica
PageRank con
priorit`a
Split
Movielens: 5 fold
Books: training e
test fisso
Rappresentazioni
Graph
Graph + LOD
Graph + LOD + FS
Propriet`a totali
60 per Movielens
70 per Books
Tecniche di FS
PageRank
χ2
Info Gain
Gain Ratio
mRMR
PCA
SVM
Features
selezionate
10
30
50
Metriche
F1
Diversity (ILD)
Simone Rutigliano 29 Aprile 2015 26
33. Protocollo Sperimentale - Setup
Ogni esperimento sar`a dato dalla combinazione dei seguenti fattori
Tecnica
PageRank con
priorit`a
Split
Movielens: 5 fold
Books: training e
test fisso
Rappresentazioni
Graph
Graph + LOD
Graph + LOD + FS
Propriet`a totali
60 per Movielens
70 per Books
Tecniche di FS
PageRank
χ2
Info Gain
Gain Ratio
mRMR
PCA
SVM
Features
selezionate
10
30
50
Metriche
F1
Diversity (ILD)
Simone Rutigliano 29 Aprile 2015 26
34. Protocollo Sperimentale - Setup
Ogni esperimento sar`a dato dalla combinazione dei seguenti fattori
Tecnica
PageRank con
priorit`a
Split
Movielens: 5 fold
Books: training e
test fisso
Rappresentazioni
Graph
Graph + LOD
Graph + LOD + FS
Propriet`a totali
60 per Movielens
70 per Books
Tecniche di FS
PageRank
χ2
Info Gain
Gain Ratio
mRMR
PCA
SVM
Features
selezionate
10
30
50
Metriche
F1
Diversity (ILD)
Simone Rutigliano 29 Aprile 2015 26
35. Protocollo Sperimentale - Setup
Ogni esperimento sar`a dato dalla combinazione dei seguenti fattori
Tecnica
PageRank con
priorit`a
Split
Movielens: 5 fold
Books: training e
test fisso
Rappresentazioni
Graph
Graph + LOD
Graph + LOD + FS
Propriet`a totali
60 per Movielens
70 per Books
Tecniche di FS
PageRank
χ2
Info Gain
Gain Ratio
mRMR
PCA
SVM
Features
selezionate
10
30
50
Metriche
F1
Diversity (ILD)
Simone Rutigliano 29 Aprile 2015 26
36. Protocollo Sperimentale - Setup
Ogni esperimento sar`a dato dalla combinazione dei seguenti fattori
Tecnica
PageRank con
priorit`a
Split
Movielens: 5 fold
Books: training e
test fisso
Rappresentazioni
Graph
Graph + LOD
Graph + LOD + FS
Propriet`a totali
60 per Movielens
70 per Books
Tecniche di FS
PageRank
χ2
Info Gain
Gain Ratio
mRMR
PCA
SVM
Features
selezionate
10
30
50
Metriche
F1
Diversity (ILD)
Simone Rutigliano 29 Aprile 2015 26
37. Protocollo Sperimentale - Setup
Ogni esperimento sar`a dato dalla combinazione dei seguenti fattori
Tecnica
PageRank con
priorit`a
Split
Movielens: 5 fold
Books: training e
test fisso
Rappresentazioni
Graph
Graph + LOD
Graph + LOD + FS
Propriet`a totali
60 per Movielens
70 per Books
Tecniche di FS
PageRank
χ2
Info Gain
Gain Ratio
mRMR
PCA
SVM
Features
selezionate
10
30
50
Metriche
F1
Diversity (ILD)
Simone Rutigliano 29 Aprile 2015 26
38. Protocollo Sperimentale - Setup
Ogni esperimento sar`a dato dalla combinazione dei seguenti fattori
Tecnica
PageRank con
priorit`a
Split
Movielens: 5 fold
Books: training e
test fisso
Rappresentazioni
Graph
Graph + LOD
Graph + LOD + FS
Propriet`a totali
60 per Movielens
70 per Books
Tecniche di FS
PageRank
χ2
Info Gain
Gain Ratio
mRMR
PCA
SVM
Features
selezionate
10
30
50
Metriche
F1
Diversity (ILD)
Simone Rutigliano 29 Aprile 2015 26
43. Experiment 2 - Books
Si possono trarre vantaggi dall’utilizzo di tecniche di FS sulla LOD?
N Feature PageRank mRMR χ2 SVM GainRatio InfoGain PCA
F1@5
10 0,5515 0,5493 0,5512 0,5507 0,5524 0,5540 0,5513
30 0,5518 0,5519 0,5517 0,5519 0,5524 0,5519 0,5510
50 0,5517 0,5511 0,5505 0,5512 0,5503 0,5511 0,5513
F1@10
10 0,6431 0,6435 0,6423 0,6434 0,6435 0,6445 0,6433
30 0,6422 0,6427 0,6420 0,6430 0,6431 0,6427 0,6432
50 0,6418 0,6419 0,6419 0,6426 0,6425 0,6419 0,6428
I risultati migliori con 10 e 30 feature
Tutte differenze statisticamente significative
(Friedman p-value < 0.01)
Simone Rutigliano 29 Aprile 2015 31
44. Experiment 2 - Books
Si possono trarre vantaggi dall’utilizzo di tecniche di FS sulla LOD?
InfoGain risulta essere la tecnica pi`u performante
Simone Rutigliano 29 Aprile 2015 32
46. Experiment 3 - Movielens
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 34
47. Experiment 3 - Movielens
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 35
48. Experiment 3 - Movielens
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 36
49. Experiment 3 - Books
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 37
50. Experiment 3 - Books
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 38
51. Experiment 3 - Books
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 39
52. Experiment 4 - Movielens
Come si comporta la nostra metodologia rispetto allo stato
dell’arte?
Simone Rutigliano 29 Aprile 2015 40
53. Experiment 4 - Movielens
Come si comporta la nostra metodologia rispetto allo stato
dell’arte?
Simone Rutigliano 29 Aprile 2015 41
56. Conclusioni
L’uso delle propriet`a della LOD migliora le
performance del recommender
Si possono trarre vantaggi dall’utilizzo di
tecniche di FS sulla LOD sia in termini di F1 che
in tempo di esecuzione
Alcune tecniche di FS sono in grado di migliorare
un particolare aspetto anzich´e altri
Rispetto allo stato dell’arte il sistema realizzato
riesce a produrre risultati migliori
Simone Rutigliano 29 Aprile 2015 44
57. Conclusioni
L’uso delle propriet`a della LOD migliora le
performance del recommender
Si possono trarre vantaggi dall’utilizzo di
tecniche di FS sulla LOD sia in termini di F1 che
in tempo di esecuzione
Alcune tecniche di FS sono in grado di migliorare
un particolare aspetto anzich´e altri
Rispetto allo stato dell’arte il sistema realizzato
riesce a produrre risultati migliori
Simone Rutigliano 29 Aprile 2015 44
58. Conclusioni
L’uso delle propriet`a della LOD migliora le
performance del recommender
Si possono trarre vantaggi dall’utilizzo di
tecniche di FS sulla LOD sia in termini di F1 che
in tempo di esecuzione
Alcune tecniche di FS sono in grado di migliorare
un particolare aspetto anzich´e altri
Rispetto allo stato dell’arte il sistema realizzato
riesce a produrre risultati migliori
Simone Rutigliano 29 Aprile 2015 44
59. Conclusioni
L’uso delle propriet`a della LOD migliora le
performance del recommender
Si possono trarre vantaggi dall’utilizzo di
tecniche di FS sulla LOD sia in termini di F1 che
in tempo di esecuzione
Alcune tecniche di FS sono in grado di migliorare
un particolare aspetto anzich´e altri
Rispetto allo stato dell’arte il sistema realizzato
riesce a produrre risultati migliori
Simone Rutigliano 29 Aprile 2015 44
60. Sviluppi futuri
Testare altre tecniche di Feature Selection
Combinare le tecniche di FS in base ai risultati ottenuti
Unire o intersecare le tecniche migliori
Trovare il numero esatto di feature da utilizzare in ogni
tecnica di FS
Simone Rutigliano 29 Aprile 2015 45
61. Sviluppi futuri
Testare altre tecniche di Feature Selection
Combinare le tecniche di FS in base ai risultati ottenuti
Unire o intersecare le tecniche migliori
Trovare il numero esatto di feature da utilizzare in ogni
tecnica di FS
Simone Rutigliano 29 Aprile 2015 45
62. Sviluppi futuri
Testare altre tecniche di Feature Selection
Combinare le tecniche di FS in base ai risultati ottenuti
Unire o intersecare le tecniche migliori
Trovare il numero esatto di feature da utilizzare in ogni
tecnica di FS
Simone Rutigliano 29 Aprile 2015 45
64. References I
Taher H. Haveliwala.
Topic-sensitive pagerank: A context-sensitive ranking algorithm for web
search.
IEEE Trans. on Knowl. and Data Eng., 15(4):784–796, July 2003.
Simone Rutigliano 29 Aprile 2015 47
72. . . . Funzionamento PageRank
Attraverso il metodo delle potenze si andranno a calcolare gli
autovalori della matrice ottenendo i valori del PageRank
1 2
3
56
4
π =
0.372
0.054
0.042
0.375
0.206
0.286
s
Il ranking dei documenti sar`a quindi: 4 - 1 - 6 - 5 - 2 - 1
Simone Rutigliano 29 Aprile 2015 55
73. PageRank
Utilizza la stessa tecnica utilizzata nella raccomandazione per
effettuare anche la feature selection
Cerca le feature pi`u importanti in base a quante volte sono
presenti nella Linked Open Data
Simone Rutigliano 29 Aprile 2015 56
74. Chi Squared
Verifica se esiste una correlazione tra le feature e l’attributo di
classe usando la statistica χ2
Il test statistico sar`a:
χ2
=
C
i=1
(Oi − Ei )2
Ei
con gradi di libert`a pari a C − 1
dove
C = numero di categorie
Oi = frequenze osservate per la categoria i
Ei = frequenze attese per la categoria i
Simone Rutigliano 29 Aprile 2015 57
75. Information Gain
Valuta gli attributi sulla base del guadagno di informazione che
apporta al dataset
Guadagno ottenuto riducendo l’incertezza iniziale
IG(S, Attr) = Entropy(S) −
v∈Values(Attr)
|Sv |
|S|
· Entropy(Sv )
dove:
S : dataset di training
Attr : rappresenta l’attributo da analizzare
v : valori degli attributi Attr
Sv : subset di istanze con attributo Attr valorizzato con v
Simone Rutigliano 29 Aprile 2015 58
76. Gain Ratio
Estensione dell’information gain classico
Mira a penalizzare gli attributi con un numero elevato di valori
Normalizza l’InfoGain usando l’entropia di S in relazione
all’attributo Attr (Split information)
SplitInformation(S, Attr) = −
v∈Values(Attr)
|Sv |
|S|
log
|Sv |
|S|
Definizione di GainRatio:
GainRatio(S, Attr) =
IG(S, Attr)
SplitInformation(S, Attr)
Simone Rutigliano 29 Aprile 2015 59
77. mRMR
Consiste nel trovare il subset di feature che riescono
contemporaneamente a garantire:
minima ridondanza tra le features
features tra loro pi`u dissimilari possibili
massima rilevanza delle features con la classe target
features pi`u discriminanti per la classe target
Simone Rutigliano 29 Aprile 2015 60
78. Principal Component Analysis (PCA)
Riduce la dimensionalit`a del dataset combinando le variabili in
gioco
Mantiene lo stesso apporto informativo del dataset originale
Le nuove variabili, chiamate Principal Components (PC), sono
non correlate, e sono ordinate in base all’informazione che
essa contiene
Simone Rutigliano 29 Aprile 2015 61
79. Principal Component Analysis (PCA)
Trova l’asse che meglio rappresenta la pi`u grande variazione
(First principal component) e proietta tutti i punti su
quest’asse
Definisce la nuova dimensionalit`a sulla base degli autovettori
della matrice di covarianza associata
Simone Rutigliano 29 Aprile 2015 62
80. Support Vector Machine (SVM)
SVM massimizza il margine di separazione tra gli iperpiani
La funzione di decisione viene creata sulla base del subset di
esempi (support vectors)
Simone Rutigliano 29 Aprile 2015 63