220 likes | 689 Views
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
E N D
UNIVERSITA’ DI MODENA EREGGIO EMILIAFacolta’ di Ingegneria – Sede di ModenaCorso 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 Service level Global Schema User Application Query Manager Momis Mediator Corba interaction User interaction Wrapper Wrapper Wrapper Wrapper GUI Corba Object XML source Object source generic source Relational source Software tools User Data level
Processo di integrazione S1 S2 S3 • SIM Generazione Thesaurus • SLIM Common Thesaurus Analisi Affinità e Creazione Cluster • ARTEMIS Cluster Generazione attributi globali e mapping-table • TUNIM Schema Globale
Relazioni del Common Thesaurus • SYN, BT, NT, RT. • SYNEXT, BTEXT, NTEXT.
Generazione Thesaurus Comune S1 S2 S3 SIMA Estrazione Relazioni Strutturali Integrazione Relazioni Lessicali Relazioni Integrate SIMB Validazione Relazioni Validate Inferenza SIMB Relazioni Inferite Thesaurus Comune
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 ODB-Tools. 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 NTEXTCS.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 duerelazioni 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.
Interface Section (source relational University, key (section_code) foreign key (room_code) references Room) {attribute integer section_code; attribute integer room_code;} Interface Graduate_Student (source relational University, key (name) foreign key (name) references School_Member) {attribute string name ...} Analisi degli schemi relazionali: Esempi • < 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.
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; }; Interface ListOfStudent (source semistructured tax_Position_xml ) { attribute set <Student> Student; }; Analisi sorgenti semistrutturate: Esempio • < TP.Student RT TP.ListOfStudent > .sparc20.dsi.unimo.it
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.
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.
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; ….} Regole per la validazione : Esempio < 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
interface Fast_Food (source semistructured ED …) {… attribute string category; ...} interface Restaurant (source relational FD …) {… attribute integer category; ...} Esempio di inconsistenza [ 0 ] • < ED.Fast_Food NTEXT FD.Restaurant > interface Fast_Food: Restaurant (source semistructured ED…) {… attribute string category; ...} 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).
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.