Università degli Studi di Modena e Reggio Emilia
Facoltà di Ingegneria – Corso di Laurea in Ingegneria Informatica
Tecniche di ranking per l’interrogazione
approssimata di dati XML
Cristian Colli
Relatore:
Prof. Paolo Tiberio
Controrelatore:
Prof. Sonia Bergamaschi
Correlatore:
Dott. Federica Mandreoli
Ing. Riccardo Martoglia
Anno Accademico 2001/2002
Interrogazione approssimata XML
Interrogazione XML
Documento XML
dblp
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="XMLTree.xsl"?>
<article>
article
<dblp>
<author>
<article key="tr/gte/TR-0146-06-91-165">
article
D. Shasha
<corresponding author>
</author>
D. Shasha
<author>
</corresponding author>
K. Zhang
year
author author
key
Corr. author author title
journal date
<author>K. Zang</author>
</author>
author
<author>J.T.L.
Wang</author>
<year>1994</year>
<title>
</article>
1994 D.shasha K. Zhang
D.
K.
J.T.L.
year
Journal of
Approximate
tree
matching
in
the
presence
of…
Shasha Zang Wang
algorithms
</title>
<journal>Journal of algorithms</journal>
1994
<volume>TR-0146-06-91-165</volume>
 Non sempre esistono soluzioni che
rispondono a pieno all’interrogazione
<date>
<month>June</month>
 Interrogando l’albero XML accediamo
a dati di cui non conosciamo lo schema
<year>1994</year>
</date>
 Necessità di criteri per la selezione
delle risposte approssimate
</article>
</dblp>
Obiettivi della tesi
Metrica di similarità tra alberi
Flessibile (fornendo all’utente la possibilità di esprimere le proprie
preferenze attraverso appositi parametri)

Rigorosa (quantificando il valore di dissimilianza tra alberi attraverso
il calcolo della tree edit distance unordered)

Efficace (garantendo di produrre risultati utili e di qualità)

Algoritmi per la risoluzione di interrogazioni
Completi (fornendo all’utente tutti e solo i risultati effettivamente utili)

Efficienti (garantendo prestazioni soddisfacenti attraverso l’utilizzo
di filtri costruiti ad hoc)

Parametri
L’utente deve poter decidere come penalizzare le
soluzioni approssimate trovate
Albero query
article
2
Penalizzazioni:
 Costo locale per ogni nodo query non trovato
nell’albero dati
0
 Costo locale per ogni rilassamento sui vincoli
di parentela padre figlio nell’albero dati
1
 Per ogni inconsistenza sul contenuto la metrica
di dissimilarità e espressa dalla edit distance
1
2
2
year
author
1
2
1994
1
2
author
1
4
2
K. Zhang D. Shasha
Soglia = 3
Parentela = 2
Occorre specificare un limite alle soluzioni approssimate attraverso l’introduzione
di un valore di soglia di dissimilarità che permetta di selezionare le soluzioni.
Parentela: Distanza massima che può esistere nell’albero dati tra due nodi
legati nell’albero query, da una relazione padre-figlio
Tree Edit Distance Unordered
Necessità di misurare una distanza tra alberi (unordered) che sia una metrica e
che permetta in seguito di selezionare solo le soluzioni per le quali la distanza
è inferiore alla soglia
T1
Edit operation:
Inserimento
Cancellazione
Sostituzione
E
D
B
T2
R
A
C
A
R
F
C
Supponendo per ciascuna edit operation un costo unitario:
Tree edit distance = 2
Costo di cancellazione del nodo D
Inserimento del nodo F in T1(Costo di cancellazione nodo F in T2)
E
B
Algoritmo tree edit distance unordered
T
D
C
A
F
Consideriamo un albero alla volta
e per entrambi determiniamo tutti i
possibili sotto alberi
B
RK(T)
RK(T) 1 nodo
RK(T) 3 nodi
Costruiamo tutti i possibili
sottoalberi
K(T)
RK(T)
D
C
A
D
F
A_C
F
Riduciamo l’albero affinchè
contenga solo nodi Head
Memorizziamo
gli RK(T) secondo
Il numero di Head
che contengono
RK(T) 5 nodi
Algoritmo per tree edit distance tra alberi
unordered
Teorema:
Ogni confronto tra RK(T1) e RK(T2) nel quale Head(RK(T1))  Head(RK(T2))
ha distanza infinita.
RK(T1)
RK(T2)
C
RK 3 nodi
A
Tabella HASH
C
B
B
A
Dist = 0
D
C
D
F
C
H
E
G
RK 5 nodi
A
B
Dist = 
 Nella tabella Hash il confronto a costo minore rappresenta la tree edit distance
Unordered Tree Edit Distance per
Interrogazioni Approssimate
Tree Edit Distance: ottima metrica per esprimere la distanza tra alberi ma non
adatta alla risoluzione di query
T1
T2
D
C
A
D
F
B
C
F
H
E
G
B
A
Necessità di valutare la distanza tra l’albero query e le sotto parti dell’albero
dati
Occorre adattare la metrica al contesto delle interrogazioni:
per tutti nodi dell’albero dati:
Costo_del = 0
Resta problema della complessità: NP-completo
La complessità è esponenziale al crescere del numero dei nodi degli alberi
Per un albero di m=18 nodi il numero di sottoalberi è limitato da 2m –1=262143
Filtro per la ricerca delle parti
 Necessità di un filtro che limiti la complessità della funzione per il calcolo
della Tree Edit Distance
T1
T2
D
C
A
D
F
B
C
F
H
E
G
B
A
Identificando i gruppi di nodi dell’albero dati che possono risolvere la
query otteniamo degli alberi che contengono al più lo stesso numero di
nodi dell’albero query.
 La complessità rimane esponenziale solo per quanto riguarda le
dimensioni dell’albero query
Algoritmo Filtro
Filtro basato sul contenuto:
per ogni nodo query si cercano i nodi dati simili
per ogni nodo query processato si generano tutti i gruppi di nodi che sono
possibili soluzioni
Soglia = 3
Parentela = 2
Albero
query
Albero
dati
3, AA
7, AA
3, GG
1, BB
6, AB
2, CC
Gruppi generati:
Nodo query AA:
1, GF
7; 6
Assunzioni per
Tutti i nodi query:
Nodo query BB:
7; 6; 7,2; 7,5; 7,6;
6,5; 2; 5; 6;
Nodo query CC: 7,2,4; 7,5,4; 7,6,4; 6,5,4;
7,5; 6,5; 7,4
Risultati del filtro:
7,2,4; 7,5,4;
2, GB 4, CC 5, BB
Costo_del = 2
Ril_par
=1
7,6,4;
6,5,4;
Risultati del filtro
Il filtro individua i gruppi di nodi che possono rispondere alla interrogazione
3, AA
Albero
query
Albero
dati
7, AA
3, GG
1, BB
6, AB
2, CC
1, GF
2, GB 4, CC 5, BB
Risultati del filtro:
7,2,4 con distanza filtro 3 (reale 3)
7,5,4 con distanza filtro 2 (reale 2)
7,6,4 con distanza filtro 1 (reale infinito)
6,5,4 con distanza filtro 1 (reale 1)
Per i gruppi candidati che soddisfano la query, la distanza coincide
con quella calcolata dal filtro
Interrogazione approssimata XML
Riconsideriamo l’interrogazione iniziale per la quale l’utente ha specificato
I seguenti parametri:
dblp
-
article
2
0
2
year
1
2
1
1
2
2
author author
1
1
4
2
1994 D.shasha K. Zhang
Soglia = 3
Parentela = 2
article
key
Corr. author author title
author
D.
K.
Shasha Zang
J.T.L.
Wang
journal date
Journal of
algorithms
year
1994
In dblp esiste una soluzione approssimata.
 Il filtro propone il gruppo di nodi evidenziati come candidato (distanza 3)
L’algoritmo calcola il relativo valore di dissimilianza con l’albero query
mediante la funzione di tree edit distance:
Il candidato è soluzione con valore di dissimilianza = 3
Selettività filtro
Efficacia del filtro realizzato al variare del valore di soglia per una interrogazione
contenente 6 nodi su di un albero composto da 22.
I parametri della interrogazione
sono:
Costo_del = 2
Ril_par
=2
Parentela = 2
sol filtro
70
65
60
50
Soluzioni trovate
 la dimensione dell’insieme
candidato prodotto dal filtro
è vicina a quella delle soluzioni
alla query
 Il filtro si adatta al valore
dei parametri imposti
dall’utente
sol effettive
40
32
30
29
20
12
11
10
0
0
5
3
1
0
1
2
4
3
4
5
6
Valore della soglia
La complessità dell’algoritmo, complessivamente viene ridotta nel caso peggiore
da 222=4194304 a 65 x ( 26 ) = 4160 con un fattore di riduzione pari a 1000.
Scalabilità (1)
Prestazioni dell’algoritmo nel suo complesso al variare del numero di nodi
presenti nella query.
 Il tempo necessario per
18
17
16
Tempo di esecuzione (sec)
Valore deiilparametri:
convertire
documento XML
nella struttura ad albero
Soglia
= il3tempo maggiore
rappresenta
= 2 efficienza di
eParentela
indica la scarsa
Costo_del
= 2
tale
funzione.
= 1 per l’esecuzio
 IlRil_par
tempo richiesto
dell’interrogazione rimane
limitato poiché aumentando il
numero di nodi della query
aumentano i criteri di selettività
del filtro.
Albero dati 440 nodi
15
15
14
14
14
12
t imm
10
9
9
9
9
9
t tot
8
6
4
2
0
0
2
4
6
Nodi query
8
10
12
Scalabilità (2)
Prestazioni dell’algoritmo nel suo complesso al variare del numero di nodi
presenti nella query.
Valore dei parametri:
3
2
2
1
 L’occupazione di memoria
presenta un andamento
di tipo esponenziale al crescere
del numero di nodi della query
41,5
Occupazione memoria (Mbyte)
Soglia
=
Parentela =
Costo_del =
Ril_par
=
Occupazione memoria
41
41
40,5
40
40
39,5
39
39
39
39
38,5
0
2
4
6
Nodi query
8
10
12
Conclusioni
Obiettivi conseguiti:
E’ stata definita una metrica di similarità tra alberi efficace basata sul
concetto di Unordered Tree Edit Distance
Utilizzando questa metrica è stato definito e affrontato il problema di
risoluzione di una query.
E’ stato definito un filtro in grado di ricercare le parti di un albero dati di
grandi dimensioni simili all’albero query
E’ stato realizzato in Java un ambiente comune che riunisce queste
funzionalità
Sviluppi futuri:
Ricercare criteri per la costruzione dei soli sottoalberi utili
Potenziare gli algoritmi proposti per la realizzazione del filtro
Migliorare le prestazioni della funzione che converte il documento
XML nella struttura ad albero utilizzata dall’algoritmo