Upload
alessa-parente
View
213
Download
0
Embed Size (px)
Citation preview
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIAUNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Facoltà di Scienze Matematiche, Fisiche e NaturaliFacoltà di Scienze Matematiche, Fisiche e NaturaliCorso di Laurea in InformaticaCorso di Laurea in Informatica
Sandra MantovaniSandra Mantovani
Relatore:Relatore:Prof. Riccardo MartogliaProf. Riccardo Martoglia
Anno Accademico 2007/2008Anno Accademico 2007/2008
filmfilmfilmfilm
Ambito di ricerca dagli anni ‘50 Ambito di ricerca dagli anni ‘50 Assegna il Assegna il significato corretto significato corretto ad un ad un termine ambiguotermine ambiguo di un di un testo,testo, a seconda del suo contestoa seconda del suo contesto
proiezioneCinemaproiezioneCinemaproiezioneCinemaproiezioneCinema
datadatadatadata incassoincassoincassoincasso salasalasalasala
33 significati significati33 significati significati
1515 significati significati1515 significati significati
66 significati significati66 significati significati
33 significati significati33 significati significati
Elimina le ambiguità dei Elimina le ambiguità dei terminitermini contenuti contenuti in schemiin schemi utilizzando utilizzando algoritmi ispirati a quelli di WSDalgoritmi ispirati a quelli di WSD
Il processo può avvenire sia in Il processo può avvenire sia in modo manuale che modo manuale che automaticoautomatico
Word Sense Disambiguation Schema DisambiguationWord Sense Disambiguation Schema Disambiguation
Adattare STRIDER al multilinguismoAdattare STRIDER al multilinguismo
Ricerca ed analisi di:Ricerca ed analisi di: fonti di conoscenza esternefonti di conoscenza esterne strumenti linguisticistrumenti linguistici
Implementazione e Implementazione e valutazione dell’estensione valutazione dell’estensione per la per la lingua italianalingua italiana
• STRIDERSTRIDER
• Fonti di conoscenza esterne e strumenti linguisticiFonti di conoscenza esterne e strumenti linguistici
• Progetto ed estensione di STRIDERProgetto ed estensione di STRIDER
• Prove sperimentaliProve sperimentali
AnnotaAnnota automaticamente schemi in diversi formati automaticamente schemi in diversi formati
Utilizza Utilizza fonti di conoscenza esternefonti di conoscenza esterne
rispetto alle qualirispetto alle qualiannotare gli schemiannotare gli schemi
per stimare le per stimare le similarità tra terminisimilarità tra termini
dizionariodizionario motore di ricercamotore di ricercaoo
dizionario strutturatodizionario strutturato
Memorizza il significato corretto Memorizza il significato corretto accanto ad ogni termine accanto ad ogni termine
incassoincassoincassoincasso filmfilmfilmfilm
proiezioneCinemaproiezioneCinemaproiezioneCinemaproiezioneCinema
salasalasalasaladatadatadatadataAA
film#2film#2film#2film#2
BB
CC
1.1. ““Pellicola cinematografica o fotografica, Pellicola cinematografica o fotografica, striscia di celluloide …”striscia di celluloide …”
2. “Opera cinematografica, lungometraggio …”2. “Opera cinematografica, lungometraggio …” proiezione di un f. al cinema; f. d’azione; proiezione di un f. al cinema; f. d’azione;
provento del f.; …provento del f.; …
…………
sim( A , B ) = sim( A , B ) = bassabassasim( A , C ) = altasim( A , C ) = alta
f. in bianco e nero; f. a colori; f. a 35 mm …f. in bianco e nero; f. a colori; f. a 35 mm …
PellicolaPellicolastrisciastriscia celluloidecelluloide
coloricolori
OperaOpera lungometraggiolungometraggioproiezioneproiezione cinemacinema azioneazioneproventoprovento
INPUTINPUT
Schema Schema annotatoannotatoSchema Schema annotatoannotato
Schema in Schema in ingleseinglese
Schema in Schema in ingleseinglese
WordNetWordNet
OUTPUTOUTPUT
• STRIDERSTRIDER
• Fonti di conoscenza esterne e strumenti linguisticiFonti di conoscenza esterne e strumenti linguistici
• Progetto ed estensione di STRIDERProgetto ed estensione di STRIDER
• Prove sperimentaliProve sperimentali
DizionariDizionari
Strutturati ad Strutturati ad ipernimiipernimi
Non strutturatiNon strutturati
ClassiciClassici CollaborativiCollaborativi
Machine-generated
Valutazione delle Valutazione delle caratteristichecaratteristiche:: facilità d’interrogazionefacilità d’interrogazione numero di lemminumero di lemmi ricchezza delle definizioniricchezza delle definizioni presenza di esempipresenza di esempi
SCOPO:SCOPO: Raccogliere le definizioni relative ai termini Raccogliere le definizioni relative ai termini
Usati da STRIDERUsati da STRIDER
SCOPO:SCOPO: Estrarre i sostantivi dalle definizioni dei termini Estrarre i sostantivi dalle definizioni dei termini
Valutazione delle Valutazione delle caratteristichecaratteristiche::
facilità d’interrogazionefacilità d’interrogazione linguaggio linguaggio efficaciaefficacia
incassoincassoincassoincasso filmfilmfilmfilm
proiezioneCinemaproiezioneCinemaproiezioneCinemaproiezioneCinema
salasalasalasaladatadatadatadata
2. “opera cinematografica, lungometraggio di genere 2. “opera cinematografica, lungometraggio di genere narrativo: proiezione di un f. al cinema; f. d’azione, narrativo: proiezione di un f. al cinema; f. d’azione, provento del f.provento del f.
operaopera lungometraggiolungometraggio generegenereazioneazione
Strumenti:Strumenti:
StemmerPart-Of-Speech TaggerDatabase di parole categorizzate
proiezioneproiezione cinemacinemaproventoprovento
DizionariDizionari::
De Mauro ParaviaDe Mauro Paravia
Il Sabatini ColettiIl Sabatini Coletti
di Google di Google
Strumenti linguisticiStrumenti linguistici::
Database Database Morph-it!Morph-it! inserito nel DBMS MySQL inserito nel DBMS MySQL
• STRIDERSTRIDER
• Fonti di conoscenza esterne e strumenti linguisticiFonti di conoscenza esterne e strumenti linguistici
• Progetto ed estensione di STRIDERProgetto ed estensione di STRIDER
• Prove sperimentaliProve sperimentali
F1: Preparazione di schemi in lingua italiana
RF01: Lingua, dizionario ed esempi
RF02: Connessione e richiesta pagina web
RF03: Estrazione delle definizioni
RF04: Estrazione dei nomi
SELECT DISTINCT lemmaSELECT DISTINCT lemmaFROM morphitFROM morphitWHERE tipo = ‘n’WHERE tipo = ‘n’AND termine =AND termine =
Inserimento del DB Morph-it! nel DBMS MySQLInserimento del DB Morph-it! nel DBMS MySQL
StemmerStemmer + + Pos TaggerPos Tagger
Studio finalizzato alla creazione di Studio finalizzato alla creazione di indici ottimizzatiindici ottimizzati
Modifica del Modifica del tag-settag-set
operaopera
‘‘opereopere’;’;‘‘cinematograficacinematografica’;’;nullnull
DizDeMauroParavia.javaDizDeMauroParavia.java
Implementazione di Implementazione di Dizionario.java per il Dizionario.java per il Dizionario on-line “De Dizionario on-line “De Mauro Paravia”Mauro Paravia”
DizDeMauroParavia.javaDizDeMauroParavia.java DizSabatiniColetti.javaDizSabatiniColetti.java DizGoogle.javaDizGoogle.java
Dizionario.javaDizionario.javaWebConnection.javaWebConnection.java
Definizioni.javaDefinizioni.java Nomi.javaNomi.java
import java.net.*;import java.io.*;
public class WebConnection { String Url = new String(""); public WebConnection(String U) { Url=U; }public String Connetti() throws IOException {BufferedInputStream text =
import java.net.*;import java.io.*;
public class WebConnection { String Url = new String(""); public WebConnection(String U) { Url=U; }public String Connetti() throws IOException {BufferedInputStream text =
Dizionario.javaDizionario.java
InterfacciaInterfaccia Flusso principaleFlusso principale Crea le URLCrea le URL
DizSabatiniColetti.javaDizSabatiniColetti.java
Implementazione di Implementazione di Dizionario.java per il Dizionario.java per il Dizionario on-line “il Dizionario on-line “il Sabatini Coletti” Sabatini Coletti”
DizGoogle.javaDizGoogle.java
Implementazione di Implementazione di Dizionario.java per il Dizionario.java per il Dizionario machine-Dizionario machine-generated di Google™generated di Google™
WebConnection.javaWebConnection.java
Crea la connessione Crea la connessione WEB WEB Salva la pagina ricevutaSalva la pagina ricevuta
Definizioni.javaDefinizioni.java
Estrae definizioni dalla Estrae definizioni dalla pagina HTMLpagina HTML Metodo diverso per Metodo diverso per ogni dizionarioogni dizionario
Nomi.javaNomi.java
Estrae i sostantivi dalle Estrae i sostantivi dalle definizionidefinizioni Interroga il DB Morph-it Interroga il DB Morph-it per verificare i sostantiviper verificare i sostantivi
import java.util.ArrayList;public interface Dizionario { public ArrayList<ArrayList> lavora(); public String CreaUrl(String p); public ArrayList<String> getDefinizioni(); public Boolean CercaGenere(String ris) public ArrayList<String> ricerca(String d); }
import java.util.ArrayList;public interface Dizionario { public ArrayList<ArrayList> lavora(); public String CreaUrl(String p); public ArrayList<String> getDefinizioni(); public Boolean CercaGenere(String ris) public ArrayList<String> ricerca(String d); }
import java.util.ArrayList;import java.io.Serializable;
public class DizDeMauroParavia implements Dizionario, Serializable { private String Diz_Url = new String("http://www.demauro paravia.it/"); ArrayList<ArrayList> lista; String parola;
import java.util.ArrayList;import java.io.Serializable;
public class DizDeMauroParavia implements Dizionario, Serializable { private String Diz_Url = new String("http://www.demauro paravia.it/"); ArrayList<ArrayList> lista; String parola;
import java.util.ArrayList;import java.io.Serializable;
public class DizSabatiniColetti implements Dizionario, Serializable { private String Diz_Url = new String("http://dizionari.corrie re.it/dizionario_italiano/"); ArrayList<ArrayList> lista; String parola; ArrayList<String> definiz=
import java.util.ArrayList;import java.io.Serializable;
public class DizSabatiniColetti implements Dizionario, Serializable { private String Diz_Url = new String("http://dizionari.corrie re.it/dizionario_italiano/"); ArrayList<ArrayList> lista; String parola; ArrayList<String> definiz=
import java.util.ArrayList;import java.io.Serializable;
public class DizGoogle implements Dizionario, Serializable { private String Diz_Url = new String("http://www.goo gle.it/"); ArrayList<ArrayList> lista; String parola; ArrayList<String> definiz
import java.util.ArrayList;import java.io.Serializable;
public class DizGoogle implements Dizionario, Serializable { private String Diz_Url = new String("http://www.goo gle.it/"); ArrayList<ArrayList> lista; String parola; ArrayList<String> definiz
import java.util.ArrayList;
public class Definizioni { String parola = new String(""); String ris = new String(""); ArrayList<String> example= new ArrayList<String>();
public Definizioni(String p, String r){ parola=p; ris=r; }
import java.util.ArrayList;
public class Definizioni { String parola = new String(""); String ris = new String(""); ArrayList<String> example= new ArrayList<String>();
public Definizioni(String p, String r){ parola=p; ris=r; }
import java.util.ArrayList;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.DriverManager;
public class Nomi { public Connection conn=null; public Nomi(){ try{ conn= DbConnection(); }
import java.util.ArrayList;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.DriverManager;
public class Nomi { public Connection conn=null; public Nomi(){ try{ conn= DbConnection(); }
Schema in Schema in ingleseinglese
Schema in Schema in ingleseinglese
INPUTINPUT OUTPUTOUTPUT
Schema Schema annotatoannotatoSchema Schema annotatoannotato
Schema in Schema in italianoitaliano
Schema in Schema in italianoitaliano
Morph-it!Morph-it!MySQLMySQL
WordNetWordNet De MauroDe MauroParaviaParavia
Il SabatiniIl SabatiniColettiColetti
GoogleGoogle
import java.util.ArrayList;import java.io.Serializable;
public class DizDeMauroParavia implements Dizionario, Serializable { private String Diz_Url = new String("http://www.demauro paravia.it/"); ArrayList<ArrayList> lista; String parola;
import java.util.ArrayList;import java.io.Serializable;
public class DizDeMauroParavia implements Dizionario, Serializable { private String Diz_Url = new String("http://www.demauro paravia.it/"); ArrayList<ArrayList> lista; String parola;
InternetInternet
• STRIDERSTRIDER
• Fonti di conoscenza esterne e strumenti linguisticiFonti di conoscenza esterne e strumenti linguistici
• Progetto ed estensione di STRIDERProgetto ed estensione di STRIDER
• Prove sperimentaliProve sperimentali
SchemiSchemi SQL SQL
Valutazione dell’Valutazione dell’efficaciaefficacia PrecisionPrecision P(M): numero di termini corretti entro l’m-esima P(M): numero di termini corretti entro l’m-esima
posizioneposizione
DizionariDizionari
Il dizionario 3 non è sempre applicabile a tutti gli schemiIl dizionario 3 non è sempre applicabile a tutti gli schemi
monotematicimonotematici
politematicipolitematici
→ → P(1) P(2) P(3)P(1) P(2) P(3)
1: De Mauro Paravia
2: Il Sabatini Coletti
3: di Google
Confronto dell’efficacia dei tre diversi Confronto dell’efficacia dei tre diversi dizionaridizionari
Valutazione del contributo degli Valutazione del contributo degli esempiesempi nelle definizioni nelle definizioni
Stima dell’efficacia al variare della Stima dell’efficacia al variare della dimensione deldimensione del contestocontesto del grafo del grafo
Effetti della variazione nella Effetti della variazione nella navigazionenavigazione del grafo del grafo
Stima dell’efficacia variando i Stima dell’efficacia variando i pesi degli archipesi degli archi del grafo del grafo
Maggiore efficaciaMaggiore efficacia del dizionario del dizionario 22 rispetto al dizionario 1 rispetto al dizionario 1
Anche il numeroAnche il numero 3 3 ha ha efficaciaefficacia paragonabile a quella paragonabile a quella dei dizionari classicidei dizionari classici
DizionarioDizionario 2 2 raggiunge raggiunge P(3) = 1P(3) = 1
Gli Gli esempi esempi forniscono un forniscono un contributo contributo fondamentalefondamentale
Il Dizionario 2 è Il Dizionario 2 è sempre più sempre più efficaceefficace del del Dizionario 1Dizionario 1
adattamento di STRIDER al multilinguismo, mantenendo nella stessa versione implementazioni per lingue diverse; ricerca ed analisi dei dizionari e degli strumenti linguistici per la lingua italiana; creazione di un “POS Tagger” utilizzando Morph-it!; implementazione modulare dell’estensione per la lingua italiana, utilizzando tre dizionari differenti; valutazione dell’efficacia della nuova versione su schemi SQL di molteplici argomenti e dimensioni, variando il contesto dei termini.
implementazione di estensioni per qualsiasi altra lingua, seguendo i ragionamenti già effettuati per l’italiano; valutazione dell’efficacia utilizzando dizionari in lingua inglese non strutturati ad ipernimi; valutazione dell’efficacia utilizzando dizionari strutturati ad ipernimi in lingua italiana; valutazione dell’efficacia utilizzando i dizionari collaborativi; implementazione di funzionalità di feedback per gli algoritmi che non utilizzano la struttura ad ipernimi.