Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani...

24
Algoritmi di matching tra Algoritmi di matching tra schemi schemi XML per la riscrittura di XML per la riscrittura di query query Tesi di laurea di: Tesi di laurea di: Milena Cevolani Milena Cevolani UNIVERSITÀ UNIVERSITÀ DEGLI DEGLI STUDI DI MODENA E REGGIO STUDI DI MODENA E REGGIO EMILIA EMILIA Facoltà di Ingegneria – Sede di Modena Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Corso di Laurea in Ingegneria Informatica Relatore: Relatore: Prof. Paolo Tiberio Prof. Paolo Tiberio Correlatore: Correlatore: Dott.sa Federica Dott.sa Federica Mandreoli Mandreoli

Transcript of Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani...

Page 1: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Algoritmi di matching tra schemi Algoritmi di matching tra schemi XML per la riscrittura di queryXML per la riscrittura di query

Tesi di laurea di:Tesi di laurea di:

Milena CevolaniMilena Cevolani

UNIVERSITÀUNIVERSITÀ DEGLIDEGLI STUDI DI MODENA E REGGIO EMILIASTUDI DI MODENA E REGGIO EMILIA

Facoltà di Ingegneria – Sede di Modena Facoltà di Ingegneria – Sede di Modena

Corso di Laurea in Ingegneria Informatica Corso di Laurea in Ingegneria Informatica

Relatore:Relatore:

Prof. Paolo TiberioProf. Paolo Tiberio

Correlatore:Correlatore:

Dott.sa Federica MandreoliDott.sa Federica Mandreoli

Page 2: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Sommario

• Il progetto ECD e le biblioteche Il progetto ECD e le biblioteche

digitali XMLdigitali XML

• Il problema della riscrittura delle queryIl problema della riscrittura delle query

• Il matching fra schemi XML Il matching fra schemi XML

• Prove sperimentaliProve sperimentali

Page 3: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Biblioteche Digitali XML

• Il progetto ECD si concentra sullo sviluppo di tecnologie e strumenti per offrire contenuti arricchiti

• Uno dei mezzi di distribuzione dei contenuti arricchiti è dato dalle biblioteche digitali

• Una BD è una raccolta gestita di informazioni, con servizi associati, in cui l’informazione è memorizzata in formato digitale e accessibile su una rete

• Nelle BD XML lo standard scelto per la rappresentazione dei documenti è il linguaggio XML

• Nelle BD XML i dati sono semistrutturati

Page 4: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Biblioteche Digitali XML

DATI SEMISTRUTTURATI

Pregi:•Flessibilità•Facilità d’uso

Difetti:•Grandi quantità di informazioni eterogenee •Difficoltà a reperire le informazioni nel repository della BD

Necessità di uso di metadatiche descrivano la strutturadei documenti XML

Uso del linguaggioXML Schema

Necessità di eseguireinterrogazioni approssimate

Page 5: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

La riscrittura delle query

• Definire un linguaggio di interrogazione (XQuery)

• Riscrivere ogni query posta dall’utente• in modo automatico

• per ogni documento della BD utile a soddisfare la richiesta dell’utente

Un possibile approccioUn possibile approccio

Sfruttare le informazioni strutturali fornite dagli schemi XML

Per interrogare i documenti XML nell’archivio di una BD bisogna:

Page 6: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

La riscrittura delle query

Schema A Schema B

for $x in /cdstorewhere $x/cd/singer = ELISAand $x/cd/song/title = giftreturn $x/name

“i nomi di negozi che vendono cd di ‘Elisa’ e che contengano canzoni con ‘gift’ nel titolo “

??

name

cdstore

cdtitle

cd

vocalist

address

statecity tracklist

passage

title

street

musicstore

compackDisk

storage

stock

signboard

country namesigncolorsign

songlist

songtitle singer

track

albumTitle

location

town

Page 7: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

La riscrittura della query

• Uso di ontologie per “annotare” i termini degli schemi XML• Una ontologia può essere vista come un insieme di

concetti in grado di definire in modo univoco una determinata realtà di interesse

• Annotazione: codice in Wordnet del significato espresso dal termine

• Uso di un algoritmo di matching• Prende in input coppie di schemi XML “annotati”

• Restituisce una mappatura con i punteggi di similarità fra le coppie di termini appartenenti ai due schemi

Riscrittura automatica di una query: Da dove partire?

Page 8: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Algoritmo per il matching fra schemi XML

• Trasformazione degli schemi annotati in grafi etichettati diretti

GA=XMLDOMGraph(schema A)

GB=XMLDOMGraph(schema B)

• Creazione della mappatura inizialeinitialMap=StringMatcher(GA,GB)

• Creazione di un multimapping tramite un calcolo di fixpoint

multimapping=match(GA,GB,initialMap)

• Filtraggio del multimapping

result=Filter(multimapping)

Page 9: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Trasformazione degli schemi XMLTrasformazione degli schemi XML annotati in grafi RDF

SCHEMA B

<schema>

<element name="cdstore@3662068" type="cdstoreType@3662068"/>

<complexType name="cdstoreType@3662068">

<element name="name@5332759" type="string@5863361"/>

<element name="address@6991355" type="addressType@6991355"/>

<element name="cd@2679407" type="cdType@2679407"/>

</complexType>

<complexType name="addressType@6991355">

<element name="city@7017487" type="string@5863361"/>

<element name="street@3777764" type="string@5863361"/>

<element name="state@6772345" type="string@5863361"/>

</complexType>

<complexType name="cdType@2679407">

<element name="vocalist@8680915" type="string@5863361"/>

<element name="cdtitle@5337484" type="string@5863361"/>

<element name="tracklist@5429385" type="tracklistType@5429385"/>

</complexType>

<complexType name="tracklistType@5429385">

<element name="passage@5886415" type="passageType@5886415"/>

</complexType>

<complexType name="passageType@5886415">

<element name="title@5337484" type="string@5863361"/>

</complexType>

</schema>

schema

b0

b1

b3

b2

complexType

element

cdstore

cdstoreType

string name

tag

tag

tag

tag

child

childchild

type

type

name

name

name

Gli archi sono identificati da delle triple (s,p,o)Uso dell’etichetta child per identificare le relazioni parent-child

bi [tag:name]

Page 10: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Creazione della mappatura inizialeDai grafi GA e GB si ricava il grafo di connettività a coppie (PCG):

GA GBGrafo di connettività a coppie

(a2, child ,a9) GA e (b0, child, b1) GB ((a2,b0), child, (a9,b1)) PCG

schema

b0

b1

b3

b2

complexType

element

cdstore

cdstoreType

string name

tag

tag

tag

tag

child

childchild

type

type

name

name

storageType, string

element,elementstorage,name a9,b3

storage,cdstoreType

a9,b2 a9,b1a2,b0

element,complexType

storage,cdstore

storageType,cdstoreType

a2,b1

complexType,element

musicstoreType,cdstoretag

tag

name

name

name

name

name

type

type

type

childchild

schema

element

complexType

a2a1

a0

a9

musicstore

storage storageType

musicstoreType

tag

tag

tag

tagchild

child

child

name

name

nametype

type

Page 11: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Creazione della mappatura inizialePer ogni coppia di mappe (a,b) PCG, si calcola il valore iniziale di similarità σ0 come segue:•Coppie (risorsa,risorsa) e (risorsa,letterale): σ0 = minSim•Coppie (letterale,letterale):

Uso del modello Vector Space GeneralizzatoUso delle gerarchie di ipernimi di WordNet

livello 8 =>singer, vocalist, vocalizer, vocaliser

livello 7 =>musician, instrumentalist, player

livello 6 =>performer, performing artist

livello 5 =>entertainer

livello 4 =>person, individual, someone, somebody, mortal, human, soul

livello 3 =>organism, being

livello 2 =>living thing, animate thing

livello 1 =>object, physical object

livello 0 =>entity, physical thing

livello 3 =>causal agent, cause, causal agency

livello 2 =>entity, physical thing

livello 8 =>singer,vocalist, vocalizer, vocaliser

livello 7 =>musician, instrumentalist, player

livello 6 =>performer, performing artist

livello 5 =>entertainer

livello 4 =>person, individual, someone, somebody, mortal, human, soul

livello 3 =>organism, being

livello 2 =>living thing, animate thing

livello 1 =>object, physical object

livello 0 =>entity, physical thing

livello 3 =>causal agent, cause, causal agency

livello 2 =>entity, physical thing

0.18882

)vocalist(depth)ger(sindepth))vocalist,ger(sinLCA(depth2)vocalist,ger(sin0

Page 12: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Creazione della mappatura iniziale

Nodi in Schema A Nodi in Schema B 0

musicstore cdstore 1.0

songlist tracklist 1.0

namesign name 1.0

track passage 0.5

songtitle title 1.0

compackDisk cd 1.0

singer vocalist 1.0

Page 13: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Creazione del multimapping

Aggiunta dei coefficienti di propagazione ww sugli archi con la formula inverse product:

Creazione del grafo di propagazione della similarità :

Aggiunta di un arco, con direzione opposta

storageType,string

element, elementstorage,name a9,b3

a9,b1a2,b0a9,b2

storageType,cdstoreType

storage, cdstore

element, complexType

storage, cdstoreType

a2,b1 musicstoreType, cdstorecomplexType, element

1.0

1.0 1.0

1.01.0

1.0 1.0

1.0

1.0

1.0

0.005 0.005

0.143

1.0 0.005

1.01.0

0.013

1.0

0.01 1.0

1.01.0

0.005

)B,q,y(}r,l{

card)A,p,x(}r,l{

card1

Page 14: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Creazione del multimapping

storageType,string

element, elementstorage,name a9,b3

a9,b1a2,b0a9,b2

storageType,cdstoreType

storage, cdstore

element, complexType

storage, cdstoreType

a2,b1 musicstoreType, cdstorecomplexType, element

1.0

1.0 1.0

1.01.0

1.0 1.0

1.0

1.0

1.0

0.005 0.005

0.143

1.0 0.005

1.01.0

0.013

1.0

0.01 1.0

1.01.0

0.005

Formula di fixpoint: σn + 1 = normalize (σ0 + σn + φ(σ0 + σn))

)1b,2a(n)1b,2a(0)1b,2a(1n

001.0)element,ecomplexTyp(n)element,ecomplexTyp(0

a2,b1 musicstoreType, cdstorecomplexType, element1.0 1.0

0.01 1.0

0.1)cdstore,Typemusicstore(n)cdstore,Typemusicstore(0

0.1)element,ecomplexTyp(n)element,ecomplexTyp(0

0.1)cdstore,Typemusicstore(n)cdstore,Typemusicstore(0

Page 15: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Convergenza del calcolo di fixpoint

• La formula di fixpoint corrisponde al calcolo

dei cammini casuali sulle catene di Markov

• L’iterazione continua fino a che (n,n+1) <

• Il calcolo converge se il grafo di propagazione è

strettamente connesso

• Uso del dampening: si aggiunge σ0 al calcolo di φ

con σ0(a,b) > 0

Page 16: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Filtraggio dei risultati

FiltroVincoli di typing•[element:name]•[complexType:name]

Vincoli di cardinalità•[0.n]-[0,n]

Multimapping

mappatura finale(similarità assoluta)

Problema di assegnamento

•Similarità cumulativa•[0,1]-[0,1]

Problema delmatrimonio stabile

Valore di soglia0.4

iMy,x

y,x

Page 17: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Prove sperimentaliSchema BSchema A

musicstore

compackDisk

storage

stock

signboard

country namesigncolorsign

songlist

songtitle singer

track

albumTitle

location

town

cdstore

cdtitle

cd

vocalist

address

statecity tracklist

passage

title

streetNodi in A Nodi in B 0

[element:musicstore] [complexType:cdstoreType] 0.001 1.0

[complexType:compackDiskType] [element:cd] 0.001 1.0

[complexType:songlistType] [element:tracklist] 0.001 1.0

[element:compackDisk] [complexType:cdType] 0.001 0.779

[element:compackDisk] [element:cd] 0.001 0.755

[complexType:musicstoreType] [element:cdstore] 0.001 0.755

[element:namesign] [element:name] 0.001 0.755

[element:musicstore] [element:cdstore] 0.001 0.637

[element:songlist] [element:tracklist] 0.001 0.506

[element:songlist] [complexType:tracklistType] 0.001 0.506

[element:track] [complexType:passageType] 0.001 0.504

[element:track] [element:passage] 0.001 0.504

Page 18: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Prove sperimentali

Schema A

musicstore

compackDisk

storage

stock

signboard

country namesigncolorsign

songlist

songtitle singer

track

albumTitle

location

town

cdstore

cdtitle

cd

vocalist

address

statecity tracklist

passage

title

street

Schema BSchema B1

cdstore

cdtitle

cd

vocalist

address

statecity tracklist

passage

title

street

Page 19: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Prove sperimentali

Schema A

cdstore

cdtitle

cd

vocalist

address

statecity tracklist

passage

title

street

musicstore

compackDisk

storage

stock

signboard

country namesigncolorsign

songlist

songtitle singer

track

albumTitle

location

town

Schema BSchema B2

cdstore

cdtitle

cd

vocalist

address

statecity tracklist

passage

title

street

tradecenter

middletown

Page 20: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Prove sperimentali

Schema A

musicstore

compackDisk

storage

stock

signboard

country namesigncolorsign

songlist

songtitle singer

track

albumTitle

location

town

cdstore

cdtitle

cd

vocalist

address

statecity tracklist

passage

title

street

catalog

categorycode

music

cdtitle

cd

vocalist

tracklist

passage

title

Schema B1Schema B3

Page 21: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Parametri di modulazione

Approccio p = q p q

Inverse product 0

Inverse average 0

Inverse total product

0

Inverse total average

0

Combined inverse average

0

Equal 1.0 0

)B,q,y(}r,l{

card)A,p,x(}r,l{

card1

)B,q,y(}r,l{

card)A,p,x(}r,l{

card2

)B,q(}r,l{

card)A,p(}r,l{

card1

)B,q(}r,l{

card)A,p(}r,l{

card2

))B,q,y(}r,l{

card)A,p,x(}r,l{

card())B,q(}r,l{

card)A,p(}r,l{

card(4

Page 22: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Parametri di modulazione

SIGLA FORMULE DI FIXPOINT

FTF σn + 1 = normalize (φ(σ0 + σn))

TFF σn + 1 = normalize (σ0 + φ(σn))

FFT σn + 1 = normalize (σn + φ(σn))

TTF σn + 1 = normalize (σ0 + φ(σ0 + σn))

FTT σn + 1 = normalize (σn + φ(σ0 + σn))

TFT σn + 1 = normalize (σ0 + σn + φ(σn))

TTT σn + 1 = normalize (σ0 + σn + φ(σ0 + σn))

Page 23: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Conclusioni

• E’ stato implementato un metodo per effettuare in modo automatico il matching fra schemi XML

• Il metodo proposto si basa sull’utilizzo di ontologie e di informazioni strutturali fornite dagli schemi XML

• Il valore iniziale di similarità trovato è stato “affinato” tramite un calcolo iterativo di fixpoint

• Per limitare le mappature trovate, si sono usati dei filtri

Page 24: Algoritmi di matching tra schemi XML per la riscrittura di query Tesi di laurea di: Milena Cevolani UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà

Sviluppi Futuri• Il software progettato potrà, in futuro, essere sfruttato in un modulo di

gestione delle query

• Un criterio per la riscrittura delle query potrebbe fare uso dei valori σ trovati e combinare insieme :• Il problema del matrimonio stabile: implica la determinazione di un

matching stabile

• La similarità relativa: rendere significativo il verso di “attraversamento” degli schemi

Query Schema

cdstore

songsinger

cdname

title

town

location

musicstore

compackDisk

storage

stock

signboard

country namesigncolorsign

songlist

songtitle singer

track

albumTitle