Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P...

18
Corso di Laurea Specialistica in Ingegneria Informatica INTEGRAZIONE MULTILINGUA DI SORGENTI DATI POSTGRESQL DELLA PUBBLICA AMMINISTRAZIONE: ACCOPPIAMENTO DEI SISTEMI MOMIS E SIAM Relatore: Chiar.mo Prof. Sonia Bergamaschi Correlatori: PhD. Ing. Mirko Orsini PhD. Ing Laura Po Candidato: Saponi Riccardo Anno Accademico 2008 - 2009

Transcript of Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P...

Page 1: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Corso di Laurea Specialistica in Ingegneria Informatica

INTEGRAZIONE MULTILINGUA DI SORGENTI DATI POSTGRESQL DELLA

PUBBLICA AMMINISTRAZIONE: ACCOPPIAMENTO DEI SISTEMI MOMIS

E SIAM

Relatore: Chiar.mo Prof. Sonia Bergamaschi

Correlatori:PhD. Ing. Mirko OrsiniPhD. Ing Laura Po

Candidato: Saponi Riccardo

Anno Accademico 2008 - 2009

Page 2: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Sommario Obiettivo della Tesi Il Progetto MOMIS Il SIAM (Sistema Informativo AMbientale) Integrazione MOMIS - SIAM

Wrapper JDBC / PostgreSQL Sviluppo di un database multilingua per l’utilizzo in

MOMIS Materializzazione dello Schema Globale

Test, conclusioni e sviluppi futuri

Page 3: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Obiettivo

Ipotesi : poter disporre di una vista integrata dei dati presenti negli Uffici del settore Ambiente di diverse province, attraverso l’ accoppiamento del progetto MOMIS “DataRiver” e del programma SIAM.

Sono state eseguite 3 fasi:

1. Creazione di un Wrapper per sorgenti PostgreSQL;

2. Analisi e integrazione del database lessicale multilingua MultiWordNet;

3. Implementazione di funzioni per la materializzazione dello Schema Virtuale Globale(GS) all’interno della versione DataRiver di MOMIS;

MOMIS DataRiver SIAM

Page 4: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

MOMIS (Mediator envirOnment for Multiple Information

Sources) MOMIS e' un sistema per l'integrazione intelligente di informazioni per sorgenti dati strutturate e semi - strutturate nato fra una collaborazione dell’Università degli Studi di Modena e Reggio Emilia (DbGroup) e l’Università di Milano.

OBIETTIVO: Integrare le informazioni ricavate da sorgenti eterogenee costruendo uno Schema Globale Virtuale che consenta all’utente di sottomettere delle query e che conservi i dati nelle sorgenti locali.

Approccio opposto rispetto quello di un Data Warehouse, dove invece i dati sono duplicati su un database interrogabile dall’utente.

Page 5: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

MOMIS (Mediator envirOnment for Multiple Information

Sources)

Page 6: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

SIAM (Sistema Informativo AMbientale)

•Si pone come strumento di integrazione e collaborazione fra i vari soggetti coinvolti nei processi amministrativi che regolano la gestione dell’ambiente (Operatori, Imprese, Assessori).

•Piena compatibilità e possibilità di scambio di informazioni con altri strumenti informatici presenti nell’Ente(software di protocollazione; GIS; sportello SUAP..).

Prodotto web-based sviluppato da QUIX s.r.l. che si occupa di gestire il flusso completo di tutte le pratiche elaborate dall’Ufficio Ambiente delle Province.

Page 7: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Un Wrapper è un modulo che si occupa di rendere le diverse sorgenti

di informazione conformi ad uno standard interno o esterno. In

particolar modo si occupa di :

Tradurre la descrizione della sorgente nel linguaggio del mediatore;

Tradurre l’interrogazione ricevuta dal mediatore in una query in linguaggio locale ( ODLI

3 )

Trasferire i risultati parziali al mediatore

Wrapper JDBC / PostgreSQL

Page 8: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Wrapper JDBC / PostgreSQL PostgreSQL è un object – relational database management

system (ORDBMS) open source, seguito del progetto Ingres.

E’ un sistema per la gestione di database relazionali che

assume caratteristiche tipiche dei Linguaggi Orientati agli

Oggetti Definizione di Oggetti e Classi; Ereditarietà;

Consente di implementare funzioni e procedure tramite il

linguaggio nativo PL / pgSQL e i linguaggi di

programmazione più comuni: C++, Ruby, Perl, Python.

Tipi di dato JDBC compatibili.

Open source, multipiattaforma e ampia community di

sviluppo.

Page 9: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Wrapper JDBC / PostgreSQL Creazione della classe

WrapperJdbcCore_PostgreSQL, estensione delle interfacce Java già presenti.

Interfaccia grafica per l’inserimento dei parametri per la connessione JDBC: Domain; Port; User; Password; Scelta del database;

Generazione automatica della stringa di connessione JDBC;

Scelta dei database presenti sul server mediante il reperimento delle informazioni dalla tabella di sistema PG_CATALOG

Page 10: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Stato dell’ arte: WordNet : Database lessicale di riferimento in lingua inglese che definisce i

concetti della conoscenza e le relazioni che intercorrono fra di essi.Caratteristiche: Categoria Sintattica: categorie in cui sono suddivisi i termini

(nomi, aggettivi,verbi,avverbi) Lemma: parola e/o termine a cui vengono associati uno o più

significati Synset: insieme di termini associati ad un medesimo significato ed

appartenenti alla stessa categoria sintattica Glossa: descrizione a parole di un significato preciso. Associata a

ciascun synset Relazione Semantica: relazione che lega due synset appartenenti

alla stessa categoria sintattica Relazione Lessicale: relazione tra due lemmi appartenenti a

synset distinti

Sviluppo di un database multilingua per l’utilizzo in MOMIS

Page 11: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

WordNet concorre alla generazione del Common Thesaurus durante il Processo di Integrazione, contribuendo alla definizione di relazioni terminologiche attraverso il processo di annotazione.

W ord form

M eaning (synset) Book Volume Catalog

a w ritten w ork or com position that has been published (printed on pages bound together)

physical objects consisting of a num ber of pages bound together; "he used a large book as a doorstop"

a book or pam phlet containing an enum eration of things

Sviluppo di un database multilingua per l’utilizzo in MOMIS

Book SYN Volume Book BT Catalog

Page 12: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Sviluppo di un database multilingua per l’utilizzo in MOMIS

Per una maggior compatibilità con la versione di WordNet presente in MOMIS è stato analizzato e scelto MultiWordNet come database lessicale multilingua.

MultiWordNet mira a creare un database lessicale strettamente legato a Princeton WordNet che consenta un facile inserimento di nuove lingue.

• Relazioni semantiche : invariate rispetto WN. Si procede con degli add on;

• Relazioni lessicali : re – mapping dei lemmi basato sulla lingua;

Si compone di una parte comune (relazioni semantiche) e di parti specifiche a ciascuna lingua (relazioni lessicali)

Page 13: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Allineamento di MultiWordNet 1.6 a WordNet 2.0: Aggiornamento coerente dei record (Thanks to Rada Mihalcea,

University of Texas)

Integrazione di MultiWordNet e WordNet 2.0: Inserimento di nuovi tipi di Relazione e di Extender Procedura di integrazione basata sulla lingua del record.

Modifiche al software: Nuovi parametri di configurazione per Torque; Enum AnnotationLanguage; Gestione lingua lato Backend: synset e lemma recuperati mediante la

lingua di Annotazione; Gestione lingua lato Frontend: menù di scelta per la lingua in fase di

inserimento e ricerca del record; Modifiche agli algoritmi WNFS e WND per la gestione della lingua di

Annotazione. Implementazione di uno Stemmer Algorithm per la lingua italiana e

refactoring delle classi di Stemming

Sviluppo di un database multilingua per l’utilizzo in MOMIS

Page 14: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

MOMIS Versione “DataRiver” Progetto Open Source che si prefigge di “prodottizzare” MOMIS. Sviluppato da “Datariver S.r.l.”, una spin-off nata per iniziativa di

professori e ricercatori del DbGroup del Dipartimento di Ingegneria dell’Informazione di Modena e della ditta QUIX S.r.l.

Caratteristiche: GUI sviluppate mediante Eclipse – RCP Gestione di WordNet tramite file originali o JPA (Java Persistence

API) DataBase HSQLDB per supporto a Query Manager Gestione del progetto mediante il tool MAVEN

…MA…STESSO PROCESSO DI INTEGRAZIONE DI MOMIS!

Interrogazione di uno Schema Globale generato con MOMIS

Materializzazione dello Schema Globale

Page 15: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Creazione del modulo QUERY MANAGER EXPORT DATA;

Tramite il modulo QUERYMANAGER si invocano le interfacce per la gestione della connessione ad un target database;

Inserimento dei parametri “Wrapper – like” per la connessione JDBC al target database;

Chiamata alla classe QueryManagerExportData per la gestione delle funzioni di materializzazione a partire dallo Schema Globale;

Materializzazione dello Schema Globale

Esecuzione di script SQL creati runtime per la creazione di tabelle e l’inserimento dei dati sulla base delle Classi Globali ricavate dallo schema e salvataggio sul target database

Page 16: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Test e analisi dei risultati Test effettuati su schemi di prova e sul database di

produzione del SIAM della Provincia di Ancona (90 tabelle, 1711 attributi)

Wrapper : importate con successo sorgenti relazionali site su server locali o remoti.

Integrazione database lessicale Multilingua: annotazione eseguita in base alla scelta della AnnotationLanguage. Combinando le diverse tecniche di annotazione automatica si arriva ad avere il 62 % dei termini presenti annotati(1069 su 1711).

Stemmer: Problemi con la gestione delle forme flesse della lingua italiana.

Materializzazione dello Schema Globale: test eseguito con successo su una sorgente locale, fallito con più sorgenti. Diversi scenari di sviluppo

Page 17: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Concludendo: Wrapper per sorgenti PostgreSQL sviluppato e testato con

successo; Integrazione di un database lessicale multilingua sviluppata e

testata con successo. Alcuni miglioramenti riguardo lo stemmer italiano

Materializzazione dello Schema Globale non completato sebbene testato con successo su una sorgente;

Sviluppi futuri Rifinitura delle funzioni e della logica di gestione di lingue

differenti Completamento delle funzioni di materializzazione dello Schema

Globale Prevedere l’integrazione di diversi schemi Prevedere dei controlli sulla creazione e

sull’aggiornamento temporale dei dati

Conclusioni e sviluppi futuri

Page 18: Corso di Laurea Specialistica in Ingegneria Informatica I NTEGRAZIONE MULTILINGUA DI SORGENTI DATI P OSTGRESQL DELLA P UBBLICA A MMINISTRAZIONE: ACCOPPIAMENTO.

Grazie per l’attenzione