UNIVERSITA’ DI MODENA E
REGGIO EMILIA
Facolta’ di Ingegneria – Sede di Modena
Corso di Laurea in Ingegneria Informatica
Sviluppo di tecniche di
estrazione ed inferenza di
relazioni terminologiche nel
sistema MOMIS
Tesi di laurea di
Relatore
Correlatore
Controrelatore
Elisa Marri
Chiar.ma Prof. ssa Sonia Bergamaschi
Dott. Ing. Domenico Beneventano
Chiar.mo Prof. Flavio Bonfatti
Architettura del sistema MOMIS
SI-Designer
Integration
Designer
• SIM ODB-Tools interaction
•SLIM WordNet interaction
•ARTEMIS Affinity & Clustering
•TUNIM Mapping table tuning
WordNet
Global Schema Builder
ODB-Tools
creates
User
Application
Service level
Global Schema
Query Manager
Corba interaction
User interaction
GUI
Corba Object
Software tools
User
Momis Mediator
Wrapper
Wrapper
Wrapper
Relational
source
XML
source
Object
source
Wrapper
generic
source
Data level
Processo di integrazione
S1
• SIM
• SLIM
• ARTEMIS
S2
S3
Generazione
Thesaurus
Common
Thesaurus
Analisi Affinità e
Creazione Cluster
Cluster
• TUNIM
Generazione attributi
globali e mapping-table
Schema
Globale
Relazioni del Common
Thesaurus
• SYN, BT, NT, RT.
• SYNEXT, BTEXT, NTEXT.
Generazione Thesaurus Comune
S1
S2
S3
SIMA
Estrazione
Integrazione
Relazioni
Integrate
Validazione
Inferenza
Relazioni
Strutturali
Relazioni
Lessicali
Relazioni
Validate
SIMB
Relazioni
Inferite
Thesaurus
Comune
SIMB
Estrazione delle relazioni
strutturali: modulo SIMA
Analisi degli schemi delle sorgenti al fine di esplicitare un
insieme di relazioni intra-schema già implicite nella
struttura degli schemi stessi.
• Analisi degli schemi ad oggetti
• Analisi degli schemi relazionali
• Analisi degli schemi semistrutturati
Analisi degli schemi ad oggetti
Si utilizzano le funzionalità del componente esterno ODBTools.
ODB-Tools effettua l’analisi delle gerarchie di ereditarietà ed
aggregazione che legano le classi, siano esse
esplicitamente indicate negli schemi (ereditarietà dirette,
attributi con domini complessi), o dedotte attraverso
l’algoritmo di sussunzione ed espansione semantica.
Analisi degli schemi ad
oggetti: Esempio
Interface Professor : CS_Person
(source object Computer_Science, ...)
{attribute Office belongs_to;
attribute string rank;}
• < CS.Professor NTEXT CS.CS_Person >
• < CS.Professor RT
CS.Office >
sparc20.dsi.unimo.it
Analisi degli schemi relazionali
Si basa sullo studio delle foreign key e delle chiavi
(primarie o candidate) presenti negli schemi da esaminare
•
relazione RT: si rileva ogni volta in cui una classe
definisce una foreign key.
• relazione NTEXT : si rileva quando la foreign key è anche
chiave (primaria o candidata) della classe che la definisce.
• relazione SYNEXT: si rileva quando tra due classi sono
presenti due relazioni reciproche di NT (o
equivalentemente BT).
• relazione RTpartof: esprime un legame piu’ forte rispetto
alla semplice relazione di aggregazione RT. Si rileva
quando la foreign key e’ parte di una chiave (primaria
o candidata) della classe che la definisce.
Analisi degli schemi
relazionali: Esempi
Interface Section
(source relational University,
key (section_code)
foreign key (room_code) references
Room)
{attribute integer section_code;
Interface Graduate_Student
(source relational University,
key (name)
foreign key (name)
references School_Member)
{attribute string name
...}
attribute integer room_code;}
< UNI.Section RT UNI.Room >
< UNI.Graduate_Student NTEXT UNI.School_Member >
sparc20.dsi.unimo.it
Analisi degli schemi
semistrutturati
Si effettua su tali schemi un’analisi delle eventuali foreign
key in modo analogo a quanto avviene per gli schemi
relazionali; ad essa si associa poi un’analisi delle eventuali
gerarchie di aggregazione utilizzando il componente
esterno ODB-Tools.
Analisi sorgenti
semistrutturate: Esempio
Interface Student
(source semistructured
tax_Position_xml
key student_code)
{ attribute string name;
attribute string faculty_name;
attribute integer student_code;
attribute integer tax_fee;
};
•
< TP.Student
Interface ListOfStudent
(source semistructured
tax_Position_xml )
{ attribute set <Student> Student;
};
RT TP.ListOfStudent >
.sparc20.dsi.unimo.it
Relazioni ottenute da SIMA
Estrazione relazioni lessicali:
modulo SLIM
Estrae relazioni lessicali tra nomi di classi ed attributi sulla
base dei significati associati dal progettista ai nomi stessi.
Utilizza il Dizionario lessicale WordNet.
Relazioni estratte da SLIM
Integrazione del progettista
Nuove relazioni possono essere fornite direttamente dal progettista
per aggiungere al Common Thesaurus una conoscenza specifica
non ricavata automaticamente nelle fasi precedenti. Le relazioni
specificate dal progettista possono essere sia di tipo intensionale
che estensionale.
Validazione delle relazioni fra
attributi
Scopo di questa fase è verificare, per ogni relazione, che i domini degli
attributi coinvolti siano compatibili col tipo di relazione
esaminata.
Tale procedimento è realizzato dal modulo SIMB interagendo con
ODB-Tools, al cui interno sono presenti algoritmi in grado di
valutare la compatibilità tra domini.
• SYN: è validata se i domini dei due attributi coinvolti sono
equivalenti, oppure uno è più specializzato dell’altro.
• BT: è validata se il dominio del primo attributo è equivalente al
dominio del secondo attributo, oppure lo contiene.
• NT: è validata se il dominio del primo attributo è equivalente al
dominio del secondo attributo, oppure è in esso contenuto.
Regole per la validazione :
Esempio
interface Professor
(source Object Computer_Science
…)
{attribute Office belongs_to;
attribute string first_name;
attribute string last_name;
….}
interface Research_Staff
(source relational University
…)
{attribute string name;
attribute integer dept_code;
attribute string e_mail;
….}
< CS.Professor.first_name NT UNI.Research_Staff.name>
[1]
< CS.Professor.belongs_to NT UNI.Research_Staff.dept_code> [ 0 ]
sparc20.dsi.unimo.it
Esempio di inconsistenza
interface Fast_Food
(source semistructured ED
…)
{…
attribute string category;
...}
interface Restaurant
(source relational FD
…)
{…
attribute integer category;
...}
• < ED.Fast_Food NTEXT FD.Restaurant >
interface Fast_Food : Restaurant
(source semistructured ED …)
{…
attribute string category;
...}
[0]
ODB-Tools
Inferenza di nuove relazioni
Si utilizza ODB-Tools come motore inferenziale: sulla base
delle informazioni contenute negli schemi originali e di
quelle espresse dalle relazioni del Common Thesaurus, si
deducono automaticamente nuove relazioni (intra-schema
o inter-schema).
Risultati della validazione ed
inferenza
Software realizzato
Approssimativamente sono state prodotte 3000 righe di
codice commentato, implementato utilizzando la versione
1.2 del Java Development Kit della Sun disponibile sul
Web presso http://java.sun.com.
Scarica

Sviluppo di tecniche di estrazione ed inferenza di