Facoltà di Ingegneria di Modena ANALISI E SVILUPPO DI TECNICHE PER Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria di Modena Corso di Laurea in Ingegneria Informatica ANNOTAZIONE LESSICALE AUTOMATICA DI SCHEMI IN SISTEMI DI INTEGRAZIONE DEI DATI: ANALISI E SVILUPPO DI TECNICHE PER NOMI COMPOSTI Relatore: Chiar.mo Prof. Sonia Bergamaschi Correlatore: Dott. Ing. Serena Sorrentino Candidato: Elena Parmiggiani Anno Accademico 2007/2008
Outline Introduzione I termini composti Stato dell’arte: metodi basati su corpora metodi basati sulla semantica L’algoritmo realizzato L’analisi dei risultati Conclusioni e sviluppi futuri
Introduzione (1/2) MOMIS (www.dbgroup.unimo.it) A causa del rapido sviluppo del web, si è via via reso sempre più necessario interrogare sorgenti dati estremamente eterogenee importanza di integrare tali risorse MOMIS (www.dbgroup.unimo.it) (Mediator EnvirOment for Multiple Information Sources) Sistema di Integrazione Intelligente delle Informazioni che estrae in modo semi-automatico i dati provenienti da documenti strutturati e semi-strutturati e ne realizza una fusione intelligente
SCOPO RISOLUZIONE DEI TERMINI COMPOSTI Introduzione (2/2) All'interno di MOMIS, il meccanismo di annotazione semantica associa a ciascun termine della sorgente uno o più significati, rispetto all’ontologia lessicale WordNet PROBLEMA Questo meccanismo non permette di annotare i TERMINI COMPOSTI eventualmente presenti nella sorgente, se non presenti all’interno del database lessicale SCOPO RISOLUZIONE DEI TERMINI COMPOSTI
(termine modificante) I termini composti Termini composti = sequenze di due o più parole, separate da spazio bianco, che abbiano uno o più significati se considerate insieme Esempio: dato il termine composto UniversityMember: 1) Fase di RISOLUZIONE 2) Fase di RICERCA DELLE RELAZIONI University member IS A member (PART) OF university university member Modifier term (termine modificante) Head term (termine principale)
Stato dell’arte (1/2) Dagli anni ’70-’80 sono stati proposti numerosi algoritmi per risolvere e disambiguare termini composti possono essere distinti in base al tipo di informazioni utilizzate 1) METODI STATISTICI BASATI SU GRANDI CORPORA (raccolte di documenti o articoli): Calcolano la probabilità di trovare un composto in un determinato corpus. Dipendono da: Contesto nel quale il composto si trova; Composti precedentemente analizzati e risolti PROBLEMI: dipendenza dal dominio di applicazione + necessità di raccogliere molte informazioni
Stato dell’arte (2/2) 2) METODI BASATI SULLA SEMANTICA: Utilizzano soltanto: Contenuto lessicale; Informazione semantica. Cercano la MUTUA POSIZIONE dei membri del composto all’interno di una ricca ONTOLOGIA LESSICALE come WordNet; Da questa deducono la relazione che intercorre tra i due membri; Li classificano al fine di poter interpretare rapidamente anche tutti i termini composti simili. Ad esempio: - l’algoritmo di Vanderwende - le 20 relazioni di Barker e Szpakowicz - l’utilizzo della gerarchia medica MeSH - l’algoritmo di Fan, Barker e Porter
L’algoritmo realizzato (1/2) Dalle ricerche passate è possibile elaborare un algoritmo in Java per la RISOLUZIONE dei termini composti che: richieda il minimo delle risorse possibili; sia il più possibile portabile; sia indipendente dal contesto di utilizzo. STRUMENTI UTILIZZATI: WordNet; librerie Java per interfacciarsi con WordNet librerie Java per il parsing di sorgenti XML; DB MySQL per l’analisi dei risultati. JavaWordNetLibrary (JWNL) (sviluppata presso la Princeton University come WordNet)
L’algoritmo realizzato (2/2) STRUTTURA DELL’ALGORITMO: 1) ESTRAZIONE DEI PATTERN CHE POSSONO COSTITUIRE TERMINI COMPOSTI 2) FASE DI PULITURA DEL COMPOSTO: rimozione di eventuali - trattini (university_member) - underscore (university_member) - camel case (UniversityMember) Termine composto da risolvere (university member) 3) DISTINZIONE DI TERMINE PRINCIPALE E TERMINE/I MODIFICANTE/I A) Se il valore di un termine composto contiene il nome della classe cui appartiene, allora quello è il termine modificante; B) Membri considerati 2 a 2 se NOME + AGGETTIVO nome = termine principale, aggettivo = termine modificante; C) Se sono TUTTI NOMI il termine principale è più a destra (valido solo per l’inglese); 4) ALBERO DI IPERNIMI ricerca del MINIMO TERMINE GENITORE IN COMUNE ai due membri nella gerarchia di WordNet seguendo le sole relazioni di tipo IS A
I risultati (1/4) expiration date, family description distinzione di termine principale e midificatore (soluzione di default) + albero di ipernimia; family name distinzione di termine principale e modificatore da altre informazioni. Non necessita di albero di ipernimia; first name già presente in WordNet, reperimento della glossa; is available is non è né nome né aggettivo e il composto non può essere disambiguato (tutti i campi della tupla settati a NULL).
I risultati (2/4) Calcolo di precision e recall per ognuna delle 6 sorgenti XML analizzate:
I risultati (3/4) Analisi dettagliata delle risposte non date e delle risposte errate:
I risultati (4/4) I risultati ottenuti, per quanto richiesto dall’algoritmo, sono pienamente soddisfacenti. 77% in media di risposte date dal sistema, di cui il 93% circa corrette; del restante 23%: - il 59% conteneva almeno un membro non in WordNet, per esempio a causa di: abbreviazioni non riconosciute da WordNet (es: enum parameter); sigle come fk, pk (indicazione di foreign o primary key), xrd, etc…; articoli o altre funzioni grammaticali non contenute in WordNet. - il 41% dovuto ad errori casuali, per esempio a causa di: problemi di sincronizzazione con il DB MySQL; problemi imprevedibili in fase di parsing di sorgenti XML di grandi dimensioni.
Conclusioni e sviluppi futuri (1/2) Il lavoro svolto per questa tesi ha consentito di realizzare un programma Java per la risoluzione dei termini composti all'interno di documenti strutturati e semi-strutturati. Gli eventuali errori in fase di risoluzione o le mancate risposte da parte del sistema sono in larga parte dovute a mancanze di WordNet. Il database lessicale, purtroppo, presenta alcuni difetti, le cui conseguenze sono: valore della recall più basso rispetto alla precision; mancato reperimento del più grande termine figlio in comune ai due membri del composto all’interno della gerarchia di WordNet che ne contenga l’informazione.
Conclusioni e sviluppi futuri (2/2) I punti sui quali sarebbe interessante focalizzarsi al fine di realizzare un metodo sempre migliore per la risoluzione e la disambiguazione di termini composti: A) ricerca e utilizzo di RISORSE MIGLIORI E PIU’ APPROFONDITE del solo database lessicale WordNet, che NON fornisce relazioni altamente specifiche, ad esempio: tesauri, tassonomie di settore tecnico, etc…; B) possibilità di SINTETIZZARE IL SIGNIFICATO DEL COMPOSTO con un termine singolo, AD ESEMPIO più grande termine figlio in comune ai due membri, in modo da realizzare appieno la fase di DISAMBIGUAZIONE (ovvero l'assegnazione di un significato univoco) dei termini composti; C) IDENTIFICAZIONE E SUDDIVISIONE DEI MODIFICATORI per composti di più di due termini e riconoscimento delle mutue relazioni.
Grazie per l’attenzione