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
Recommender System - graph-based representation
Nodi
Utenti
Item
Archi
Preferenza dell’utente
verso quell’item
Simone Rutigliano 29 Aprile 2015 2
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
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
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
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
Estensione del RS
`E possibile arricchire il grafo aggiungendo nuove informazioni
relative agli item?
Simone Rutigliano 29 Aprile 2015 10
Linked Open Data cloud
Metodologia per pubblicare, condividere e collegare
dati strutturati sul web
Simone Rutigliano 29 Aprile 2015 11
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
Integrare LOD nel Recommender System. . .
Partendo dal grafo User-Item
Simone Rutigliano 29 Aprile 2015 16
. . . Integrare LOD nel Recommender System. . .
Espandendo il film Inglorious Basterds attraverso la Linked Open
Data
Simone Rutigliano 29 Aprile 2015 17
. . . Integrare LOD nel Recommender System. . .
Espandendo il film Django attraverso la Linked Open Data
Simone Rutigliano 29 Aprile 2015 18
. . . Integrare LOD nel Recommender System. . .
Espandendo anche gli altri film presenti nel grafo avremo
Simone Rutigliano 29 Aprile 2015 19
. . . PageRank nel nuovo grafo
Riapplicando il PageRank si potrebbe avere un nuovo ranking
Simone Rutigliano 29 Aprile 2015 20
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
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
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
Tecniche di feature selection
SOLUZIONE: Applicare tecniche di feature selection!
Simone Rutigliano 29 Aprile 2015 22
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Experiment 3 - Movielens
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 34
Experiment 3 - Movielens
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 35
Experiment 3 - Movielens
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 36
Experiment 3 - Books
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 37
Experiment 3 - Books
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 38
Experiment 3 - Books
Esiste una connessione tra la scelta della tecnica di FS e il
comportamento dell’algoritmo?
Simone Rutigliano 29 Aprile 2015 39
Experiment 4 - Movielens
Come si comporta la nostra metodologia rispetto allo stato
dell’arte?
Simone Rutigliano 29 Aprile 2015 40
Experiment 4 - Movielens
Come si comporta la nostra metodologia rispetto allo stato
dell’arte?
Simone Rutigliano 29 Aprile 2015 41
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
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
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
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
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
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
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
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
. . . 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
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
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
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
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
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
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
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
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