ESTRAZIONE DI ENTITÀ NON NOTE DA CORPUS DI DOCUMENTI NON STRUTTURATI UTILIZZANDO LA

Post on 06-Jan-2016

21 views 0 download

description

ESTRAZIONE DI ENTITÀ NON NOTE DA CORPUS DI DOCUMENTI NON STRUTTURATI UTILIZZANDO LA TECNOLOGIA COGITO. Relatore: Chiar.mo prof. Sonia Bergamaschi. Candidato: Fabio Manganiello. ~ Contesto. > Realizzazione di un software in grado di riconoscere e classificare in - PowerPoint PPT Presentation

Transcript of ESTRAZIONE DI ENTITÀ NON NOTE DA CORPUS DI DOCUMENTI NON STRUTTURATI UTILIZZANDO LA

ESTRAZIONE DI ENTITÀ NON NOTEDA CORPUS DI DOCUMENTI

NON STRUTTURATI UTILIZZANDO LATECNOLOGIA COGITO

Relatore:Chiar.mo prof. Sonia Bergamaschi

Candidato:Fabio Manganiello

~ Contesto

> Realizzazione di un software in grado di riconoscere e classificare in base al contesto d'uso entità non note all'interno di corpus di documenti non strutturati di grandi dimensioni

> Contesto: tirocinio trimestrale presso Expert System S.p.a., azienda leader nel campo delle tecnologie semantiche

> Sviluppo del software sulla base delle librerie aziendali [e sulla tecnologia proprietaria COGITO]

> Sviluppo del task di tirocinio: integrazione come modulo all'interno del progetto Okkam, progetto semantico finanziato dall'UE

~ Obiettivo del software> Realizzazione di un database di entità non note a priori (nomi propri di persone, aziende, prodotti, luoghi...) con relativa classificazione in base ai casi d'uso e potenziale definizione

ENTITÀ DI PARTENZA

Apache Tomcat

OBIETTIVO FINALE

> web server> java> installare> open source

> software

~ Perché i corpus> Non ha senso lavorare su singoli documenti o piccoli gruppi di documenti

> Pochi elementi di classificazione

> Poche potenziali entità da classificare

> Potenziali occorrenze di entità usate al di fuori dei loro contesti usuali

> Corpus usati in fase di test

> Newton – utilme 5 annate (ca. 1500 articoli)> Enciclopedia della Storia del Cinema (ca. 100 000 voci)> Enciclopedia Encarta (ca. 200 000 voci)> Corriere della Sera – ultime 15 annate (ca. 1 000 000 articoli)

~ Architettura del sistema

documenti

client dispatcherrisorsa opportuna[server GSL]

disambiguazione

XML

database

~ Linguaggi utilizzati

> C++ [sviluppo del server GSL]

> Perl [sviluppo del client]

> XML [scambio delle informazioni server -> client]

> SQL [inserimento e analisi dei dati su database]

~ Client

Analizza struttura directory

Ci sono file f da processare?

[si][no]

Invia f al dispatcher

Leggi XML di risposta

Leggi f

Parsing XML

Salvataggio su DB

~ Server GSL

Associazione al dispatcher

Comando di disambiguazione arrivato?

Leggi documento

Costruisci tree di disambiguazione

Ottieni domini del documento

Ci sono word w da esaminare?

[si]

[si]

[no]

[no]

Ottieni supernomen virtuale, predicato,soggetto/complemento di w e loro domini

Costruisci XML e invialo al dispatcher

~ Robustezza del codice> Non conoscendo a priori il tipo di entità che verranno esaminate e le dimensioni dei corpus da esaminare, è richiesto che l'applicazione sia il più robusta possibile e operi con stretti margini di errore in ogni situazione.

> XML generato sempre valido (parsing di eventuali doppi apici)

> Query SQL sempre valide (parsing di eventuali apici singoli, misure contro SQL injection)> Minimizzare l'allocazione di memoria dinamica per evitare potenziali memory leak> Ottimizzazione delle operazioni su DB (effettuare inserimenti o aggiornamenti su database solo quando la cache di INSERT è piena)> Ottimizzazione delle query su DB (indicizzazione per ridurre I tempi di query)

~ Analisi dei dati su Newton – 1

mysql> select dom,count(*)

from doc_domains d join entity e on d.id_doc=e.id_doc and e.ent='Hubble' group by 1 order by 2 desc limit 12;

+-------------------------+----------+| dom | count(*) |+-------------------------+----------+| aeronautica | 15 || commercio | 15 || astronautica | 15 |

| economia | 15 || astronomia | 15 || spettacolo | 11 || ingegneria aerospaziale | 11 || termini tecnici | 11 || architettura | 11 || diplomazia | 11 || missilistica | 11 |

| astrofisica | 11 |+-------------------------+----------+12 rows in set (0.00 sec)

> Risultati dell'analisi effettuata sul corpus della rivista scientifica Newton (visualizzazione dei domini dei documenti associati all'entità non nota “Hubble”

~ Analisi dei dati su Newton – 2

> Risultati dell'analisi effettuata sul corpus della rivista scientifica Newton (visualizzazione dei domini dei documenti associati ai lemmi collegati all'entità non nota “Hubble”

mysql> select domain1,count(*) as num

from entity_domains d join entity_synsets s join entity eon e.id_occ=s.id_occand s.id_ent=d.id_entand ent='Hubble'group by 1order by 2 desclimit 20;

+--------------+-----+| domain1 | num |+--------------+-----+| astronautica | 14 |

| fotografia | 1 || diplomazia | 1 |+--------------+-----+3 rows in set (0.00 sec)

~ Progetto Okkam> Progetto finanziato dalla UE per la creazione di una base di dati in grado di gestire in modo automatizzato la conoscenza disponibile in rete

documenti

Modulo Okkam

disambiguazione

Databasedistribuito

Okkam

output in XML

~ Come opera il modulo> Trova entità non note nel documento

> Per ogni entità non nota, memorizza lemmi

> Usati nella stessa frase> Usati nelle due frasi adiacenti

> ...

> Fino a una distanza in frasi d

> Peso dell'occorrenza i-esima della coppia (e,l)i :

wie , l=2−di

> Peso complessivo della coppia (e,l):

w e , l =∑i=0

Nw i e , l=∑i=0

N2−d i

~ Analisi dei dati – Corpus Corriere

> Risultati dell'analisi effettuata sul corpus del biennio 2006-2007 del Corriere della Sera (coppie entità-lemma più ricorrenti)

mysql> select ent,lemma,score

from lemmas order by score desc limit 20;

+-----------------+-----------+--------+| ent | lemma | score |+-----------------+-----------+--------+| Moratti | sindaco | 686.5 || Prodi | governo | 568 || Letizia Moratti | sindaco | 530.5 || Berlusconi | governo | 356 || Moratti | Milano | 284.75 || Letizia Moratti | Milano | 280 || Berlusconi | Prodi | 237 || Palazzo Marino | Comune | 230.5 || Romano Prodi | governo | 208.75 || Vittorio Sgarbi | assessore | 193.25 || Moratti | città | 177 || Romano Prodi | premier | 177 || Prodi | premier | 159.25 || Sforzesco | Castello | 157.25 || Veltroni | sindaco | 156.5 || Lambro | Parco | 140.75 || Palazzo Marino | assessore | 133 || Pirelli | Telecom | 130.25 || Palazzo Marino | sindaco | 127.25 || Vittorio Sgarbi | Cultura | 124.5 |+-----------------+-----------+--------+20 rows in set (0.08 sec)

~ Considerazioni sull'analisi

mysql> select avg(score)

as "score medio" from lemmas;

+-----------------+| score medio |+-----------------+| 3.2243184912657 |+-----------------+1 row in set (0.02 sec)

> ...tuttavia lo score medio di pertinenza è sorprendentemente basso...

> è quindi necessario fare una scrematura post-analisi sul database per eliminare il “rumore”

~ Conclusioni

> Le tecnologie semantiche sono il futuro dell'informatica

> in particolare del web (rilvoluzione del web 3.0 alle porte)

> Le tecnologie semantiche consentiranno l'abbattimento delle barriere fra l'utente e un'informatica rigida e pragmatica, attraverso un'informatica in grado potenzialmente di comprendere il linguaggio naturale

> grazie_per_l_attenzione