UNIVERSITA DI MODENA E REGGIO EMILIA Facolta di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Tesi di laurea di Relatore Correlatore Controrelatore Sviluppo di tecniche di estrazione ed inferenza di relazioni terminologiche nel sistema MOMIS Elisa Marri Chiar.ma Prof. ssa Sonia Bergamaschi Dott. Ing. Domenico Beneventano Chiar.mo Prof. Flavio Bonfatti
SIM ODB-Tools interaction SLIM WordNet interaction ARTEMIS Affinity & Clustering TUNIM Mapping table tuning SIM ODB-Tools interaction SLIM WordNet interaction ARTEMIS Affinity & Clustering TUNIM Mapping table tuning Integration Designer Integration Designer Global Schema Query Manager WordNet ODB-Tools Relational source XML source Object source generic source Wrapper Momis Mediator Service level Data level User Application User Application Corba Object Software tools User Architettura del sistema MOMIS SI-Designer Global Schema Builder creates GUI User interaction Corba interaction
S1S2S3 Generazione Thesaurus Generazione Thesaurus Analisi Affinità e Creazione Cluster Analisi Affinità e Creazione Cluster Generazione attributi globali e mapping-table Generazione attributi globali e mapping-table Common Thesaurus Cluster Schema Globale Processo di integrazione SIM SLIM ARTEMIS TUNIM
Relazioni del Common Thesaurus SYN, BT, NT, RT. SYN EXT, BT EXT, NT EXT.
Relazioni del Common Thesaurus SYN (SYNonym of): definita tra due termini che sono considerati sinonimi, ovvero che possono essere interscambiati poiché identificano lo stesso concetto del mondo reale. BT (Broader-Term) : definita tra due termini tali che il primo ha un significato più generale del secondo. La relazione NT (Narrower-Term) rappresenta la sua opposta. RT (Related-Term) : definita tra due termini che sono usati nello stesso contesto.
S1S2S3 Estrazione Integrazione Validazione Inferenza Relazioni Strutturali Relazioni Validate Relazioni Inferite Thesaurus Comune Relazioni Lessicali Relazioni Integrate Generazione Thesaurus Comune SIMA 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 ODB- Tools. ODB-Tools effettua lanalisi 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 lalgoritmo 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;} sparc20.dsi.unimo.it
Analisi degli schemi relazionali relazione RT: si rileva ogni volta in cui una classe definisce una foreign key. relazione NT EXT : si rileva quando la foreign key è anche chiave (primaria o candidata) della classe che la definisce. relazione SYN EXT : si rileva quando tra due classi sono presenti due relazioni reciproche di NT (o equivalentemente BT). relazione RT partof : 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. Si basa sullo studio delle foreign key e delle chiavi (primarie o candidate) presenti negli schemi da esaminare
Analisi degli schemi relazionali: Esempi 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...} sparc20.dsi.unimo.it
Analisi degli schemi relazionali: Esempio Interface Section (source relational University, extent Sections key (section_code) foreign key (room_code) references Room) {attribute integer section_code; attribute integer room_code; attribute int length; attribute char(30) section_name;} sparc20.dsi.unimo.it
Analisi degli schemi relazionali Affiancando allanalisi delle foreign key uno studio sulle chiavi (primarie e candidate) è possibile, talvolta, evidenziare ulteriori relazioni più forti della semplice RT: relazione NT: si rileva quando la foreign key è anche chiave (primaria o candidata) della classe che la definisce. relazione SYN: si rileva quando tra due classi sono presenti due relazioni reciproche di NT (o equivalentemente BT). relazione RT partof : esprime un legame di aggregazione più forte rispetto alla semplice RT. Si rileva ogni volta in cui la foreign key è parte di una chiave (primaria o candidata) della classe che la definisce.
Analisi degli schemi relazionali relazione RT partof : esprime un legame di aggregazione più forte rispetto alla semplice RT. Si rileva ogni volta in cui la foreign key è parte di una chiave (primaria o candidata) della classe che la definisce. relazioni RT derivate per estensione di relazionigià presenti nel Thesaurus: considerata una determinata classe e tutte le relazioni RT (o RT partof ) che la interessano al primo membro, si possono stabilire nuove relazioni RT tra ogni coppia di classi coinvolte al secondo membro nelle suddette relazioni. relazioni SYN tra attributi: si rileva quando la foreign key è formata da un attributo il cui nome non corrisponde a quello dello stesso attributo nella classe riferita.
Analisi degli schemi relazionali relazioni RT derivate per estensione di relazionigià presenti nel Thesaurus: considerata una determinata classe e tutte le relazioni RT (o RT partof ) che la interessano al primo membro, si possono stabilire nuove relazioni RT tra ogni coppia di classi coinvolte al secondo membro nelle suddette relazioni. relazioni SYN tra attributi: si rileva quando la foreign key è formata da un attributo il cui nome non corrisponde a quello dello stesso attributo nella classe riferita.
Analisi degli schemi semistrutturati Si effettua su tali schemi unanalisi delle eventuali foreign key in modo analogo a quanto avviene per gli schemi relazionali; ad essa si associa poi unanalisi 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; }; Interface ListOfStudent (source semistructured tax_Position_xml ) { attribute set Student; };.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.
Intervento del progettista: relazioni estensionali C1 SYN ext C2: le istanze della classe C1 sono le stesse della classe C2; implica la relazione intensionale C1 SYN C2. C1 NT ext C2: le istanze della classe C1 sono un sottoinsieme di quelle della classe C2; implica la relazione intensionale C1 NT C2. C1 BT ext C2: le istanze della classe C1 sono un sovrainsieme di quelle della classe C2; è equivalente ad una relazione intensionale C1 BT C2.
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 dellaltro. 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; ….} [ 1 ] [ 0 ] sparc20.dsi.unimo.it
Validazione delle relazioni tra classi Fase realizzata dal modulo SIMB. Si crea uno schema virtuale nel quale è riportata tutta la conoscenza contenuta nel Common Thesaurus. Partendo dalle informazioni espresse negli schemi originali, ad esse si aggiungono informazioni di sinonimia, ereditarietà, aggregazione derivanti dalle relazioni inserite nel Common Thesaurus fino a quel momento. ODB_Tools è in grado di valutare la consistenza di tale schema: viene eseguita una fase di validazione delle relazioni tra classi che hanno contribuito a generare lo schema virtuale.
Esempio di inconsistenza interface Fast_Food (source semistructured ED …) {… attribute string category;...} interface Restaurant (source relational FD …) {… attribute integer category;...} interface Fast_Food : Restaurant (source semistructured ED …) {… attribute string category;...} ODB-Tools [ 0 ]
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