Title: ESTRAZIONE DI ENTIT
1ESTRAZIONE DI ENTITÀ NON NOTE DA CORPUS DI
DOCUMENTI NON STRUTTURATI UTILIZZANDO
LA TECNOLOGIA COGITO
Relatore Chiar.mo prof. Sonia Bergamaschi
Candidato Fabio Manganiello
2 Contesto
gt 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
gt Contesto tirocinio trimestrale presso Expert
System S.p.a., azienda leader nel campo delle
tecnologie semantiche
gt Sviluppo del software sulla base delle
librerie aziendali e sulla tecnologia
proprietaria COGITO
gt Sviluppo del task di tirocinio integrazione
come modulo all'interno del progetto Okkam,
progetto semantico finanziato dall'UE
3 Obiettivo del software
gt 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
OBIETTIVO FINALE
Apache Tomcat
gt web server
gt java
gt installare
gt open source
gt software
4 Perché i corpus
gt Non ha senso lavorare su singoli documenti o
piccoli gruppi di documenti
gt Pochi elementi di classificazione
gt Poche potenziali entità da classificare
gt Potenziali occorrenze di entità usate al di
fuori dei loro contesti usuali
gt Corpus usati in fase di test
gt Newton utilme 5 annate (ca. 1500
articoli)? gt Enciclopedia della Storia del
Cinema (ca. 100 000 voci)? gt Enciclopedia
Encarta (ca. 200 000 voci)? gt Corriere della
Sera ultime 15 annate (ca. 1 000 000 articoli)?
5 Architettura del sistema
XML
disambiguazione
risorsa opportuna server GSL
client
dispatcher
documenti
database
6 Linguaggi utilizzati
gt C sviluppo del server GSL
gt Perl sviluppo del client
gt XML scambio delle informazioni server -gt
client
gt SQL inserimento e analisi dei dati su
database
7 Client
Analizza struttura directory
Ci sono file f da processare?
si
no
Leggi f
Invia f al dispatcher
Leggi XML di risposta
Parsing XML
Salvataggio su DB
8 Server GSL
Associazione al dispatcher
Comando di disambiguazione arrivato?
si
no
Leggi documento
Costruisci tree di disambiguazione
Ottieni domini del documento
Ci sono word w da esaminare?
si
no
Ottieni supernomen virtuale, predicato, soggetto/c
omplemento di w e loro domini
Costruisci XML e invialo al dispatcher
9 Robustezza del codice
gt 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.
gt XML generato sempre valido (parsing di
eventuali doppi apici)?
gt Query SQL sempre valide (parsing di eventuali
apici singoli, misure contro SQL injection)?
gt Minimizzare l'allocazione di memoria dinamica
per evitare potenziali memory leak
gt Ottimizzazione delle operazioni su DB
(effettuare inserimenti o aggiornamenti su
database solo quando la cache di INSERT è
piena)?
gt Ottimizzazione delle query su DB
(indicizzazione per ridurre I tempi di query)?
10 Analisi dei dati su Newton 1
mysqlgt select dom,count()? from
doc_domains d join entity e on
d.id_doce.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)?
gt Risultati dell'analisi effettuata sul
corpus della rivista scientifica Newton
(visualizzazione dei domini dei documenti
associati all'entità non nota Hubble
11 Analisi dei dati su Newton 2
mysqlgt select domain1,count() as num from
entity_domains d join entity_synsets s join
entity e on e.id_occs.id_occ and
s.id_entd.id_ent and ent'Hubble' group by
1 order by 2 desc limit 20 -------------------
domain1 num -------------------
astronautica 14 fotografia 1
diplomazia 1 ------------------- 3
rows in set (0.00 sec)?
gt Risultati dell'analisi effettuata sul
corpus della rivista scientifica Newton
(visualizzazione dei domini dei documenti
associati ai lemmi collegati all'entità non
nota Hubble
12 Progetto Okkam
gt Progetto finanziato dalla UE per la creazione
di una base di dati in grado di gestire in
modo automatizzato la conoscenza disponibile
in rete
output in XML
Modulo Okkam
Database distribuito Okkam
disambiguazione
documenti
13 Come opera il modulo
gt Trova entità non note nel documento
gt Per ogni entità non nota, memorizza lemmi
gt Usati nella stessa frase
gt Usati nelle due frasi adiacenti
gt ...
gt Fino a una distanza in frasi d
gt Peso dell'occorrenza i-esima della coppia
(e,l)i
gt Peso complessivo della coppia (e,l)
14 Analisi dei dati Corpus Corriere
mysqlgt 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)?
gt Risultati dell'analisi effettuata sul
corpus del biennio 2006-2007 del Corriere
della Sera (coppie entità -lemma più
ricorrenti)?
15 Considerazioni sull'analisi
gt ...tuttavia lo score medio di pertinenza è
sorprendentemente basso...
mysqlgt select avg(score)? as "score
medio" from lemmas -----------------
score medio -----------------
3.2243184912657 ----------------- 1 row in
set (0.02 sec)?
gt è quindi necessario fare una scrematura
post-analisi sul database per eliminare il
rumore
16 Conclusioni
gt Le tecnologie semantiche sono il futuro
dell'informatica
gt in particolare del web (rilvoluzione del web
3.0 alle porte)?
gt 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
17gt grazie_per_l_attenzione