Basi di Dati Multimediali - Giugno 2005Basi di Dati Multimediali - Giugno 2005Marco Ernandes: [email protected] Ernandes: [email protected]
Text ProcessingText Processing
Information ExtractionInformation Extraction
22
Lo scenarioLo scenario
Il text-processing raccoglie un grande Il text-processing raccoglie un grande insieme di problemi, tecniche e obiettivi.insieme di problemi, tecniche e obiettivi.
Sfrutta le teorie sviluppate nelle discipline:Sfrutta le teorie sviluppate nelle discipline: Computer ScienceComputer Science LinguisticaLinguistica
……dalle loro ibridazioni:dalle loro ibridazioni: Linguistica computazionaleLinguistica computazionale Natural Language ProcessingNatural Language Processing
33
Proprietà del testoProprietà del testo
Il Testo è semplicemente una struttura dati Il Testo è semplicemente una struttura dati contenente caratteri alfanumerici e caratteri contenente caratteri alfanumerici e caratteri speciali. speciali.
Il testo rappresenta la grande maggioranza di Il testo rappresenta la grande maggioranza di informazione disponibile nei computer:informazione disponibile nei computer: Tra il 70% e il 75% dell’informazione rilevante nel Tra il 70% e il 75% dell’informazione rilevante nel
Web è in formato testuale.Web è in formato testuale.
Ogni Sistema Operativo mette a disposizione Ogni Sistema Operativo mette a disposizione una serie di tool per il testo: es: “word count” o una serie di tool per il testo: es: “word count” o “grep”.“grep”.
44
Esempi di testoEsempi di testo
Tipo di fonte:Tipo di fonte: GiornaliGiornali Report AziendaliReport Aziendali Pagine WebPagine Web Articoli scientificiArticoli scientifici Documenti LegaliDocumenti Legali
Formati elettronici:Formati elettronici: Word, PDF, PS, HTML, XML,…Word, PDF, PS, HTML, XML,…
Lingua:Lingua: Inglese, Tedesco, Giapponese, etc…Inglese, Tedesco, Giapponese, etc…
Character Encoding:Character Encoding: ASCII, ISO-8859-1, ISO-8859-3, Unicode, etc…ASCII, ISO-8859-1, ISO-8859-3, Unicode, etc…
55
Focus: l’informazione!Focus: l’informazione! INFORMAZIONE INFORMAZIONE DATI + CONOSCENZA DATI + CONOSCENZA
Dati:Dati: sequenza di fatti (in un qualsiasi formato, foto, video, sequenza di fatti (in un qualsiasi formato, foto, video, testo…) di cui un sistema informativo viene in possessotesto…) di cui un sistema informativo viene in possesso
Conoscenza:Conoscenza: insieme di modelli (strutturali e/o funzionali) del insieme di modelli (strutturali e/o funzionali) del mondo o del dominio di interesse. La conoscenza è mondo o del dominio di interesse. La conoscenza è necessaria per “interpretare” i dati e trasformali in necessaria per “interpretare” i dati e trasformali in informazione.informazione.
Informazione:Informazione: è la porzione di conoscenza richiesta per uno è la porzione di conoscenza richiesta per uno specifico problema. Rappresenta il valore di conoscenza specifico problema. Rappresenta il valore di conoscenza associato ai dati in possesso nel contesto del problema.associato ai dati in possesso nel contesto del problema.
66
Text ProcessingText Processing
Il Testo è semanticamente legato al mondo in cui Il Testo è semanticamente legato al mondo in cui viviamo: veicola un significato.viviamo: veicola un significato.
Quindi è legato alla conoscenza che abbiamo del Quindi è legato alla conoscenza che abbiamo del mondo.mondo.
Quindi è usabile come DATO per produrre informazione.Quindi è usabile come DATO per produrre informazione.
Si ha TEXT-PROCESSING quando si sfrutta il senso Si ha TEXT-PROCESSING quando si sfrutta il senso veicolato da un testo (in una certa lingua/linguaggio).veicolato da un testo (in una certa lingua/linguaggio).
““grep” e “word count” non rappresentano vero Text grep” e “word count” non rappresentano vero Text Processing: sono una sorta di STEP 0.Processing: sono una sorta di STEP 0.
77
Text ProcessingText Processing
Il modo con cui possiamo ottenere informazione Il modo con cui possiamo ottenere informazione dai dati testuali è vario, si possono distinguere dai dati testuali è vario, si possono distinguere (senza separarli nettamente) vari filoni:(senza separarli nettamente) vari filoni:
PASSAGEPASSAGERETRIEVALRETRIEVAL
INFORMATIONINFORMATIONRETRIEVALRETRIEVAL
INFORMATIONINFORMATIONEXTRACTIONEXTRACTION
QUESTIONQUESTIONANSWERINGANSWERING
TEXTTEXTUNDERSTANDINGUNDERSTANDING
DOCUMENTDOCUMENTSUMMARIZATIONSUMMARIZATION
88
Text ProcessingText Processing
Come viene usato il testo:Come viene usato il testo: ““grep”, “word count”: i file sono sequenze di grep”, “word count”: i file sono sequenze di
carattericaratteri
Information Retrieval: i file (documenti) sono Information Retrieval: i file (documenti) sono sequenze di unità/parole con un possibile sequenze di unità/parole con un possibile significatosignificato
Information Extraction: i file (documenti) sono Information Extraction: i file (documenti) sono sequenze di frasi con significato, possibilmente sequenze di frasi con significato, possibilmente rilevanti per un argomento.rilevanti per un argomento.
Text Understanding: i file (documenti) sono articoli, Text Understanding: i file (documenti) sono articoli, storie, racconti, etc… con uno o molti significati. storie, racconti, etc… con uno o molti significati.
99
Cosa vedremoCosa vedremo
Principalemnte: Information Extraction e Question Principalemnte: Information Extraction e Question Answering (Passage Retr., Doc. summarization).Answering (Passage Retr., Doc. summarization).
Le relazioni e le differenze tra questi e altri tipi di Le relazioni e le differenze tra questi e altri tipi di text processing.text processing.
Le competizioni ufficiali internazionali.Le competizioni ufficiali internazionali.
Metodi di analisi e comparazione.Metodi di analisi e comparazione.
Gli approcci e le tecniche usate.Gli approcci e le tecniche usate.
Le difficoltà intrinseche.Le difficoltà intrinseche.
Interessi applicativi e motivazioni.Interessi applicativi e motivazioni.
1010
Information ExtractionInformation Extraction
Per “information extraction” si intende l’attività Per “information extraction” si intende l’attività di di creare una rappresentazione strutturata della creare una rappresentazione strutturata della informazione rilevante presente nel testoinformazione rilevante presente nel testo..
Questo filone di ricerca è stato creato dal Questo filone di ricerca è stato creato dal DARPA (sigla per “DARPA (sigla per “Defense Advanced Defense Advanced Research Projects Agency”Research Projects Agency”), con lo scopo di ), con lo scopo di riuscire a ricavare l’informazione rilevante e riuscire a ricavare l’informazione rilevante e desiderata dagli enormi archivi di documenti desiderata dagli enormi archivi di documenti ministeriali americani.ministeriali americani.
1111
IE: esempioIE: esempio
ANSA 19 Marzo 1997ANSA 19 Marzo 1997
““19 Marzo - Una 19 Marzo - Una bomba è esplosa bomba è esplosa stamani nei pressi di stamani nei pressi di una centrale elettrica una centrale elettrica di San Salvador. di San Salvador. L’ordigno, fatto L’ordigno, fatto detonare da un detonare da un commando della commando della guerrilla alle 06:50 guerrilla alle 06:50 (12:50 GMT), non ha (12:50 GMT), non ha causato vittime, ma ha causato vittime, ma ha completamente completamente distrutto la centrale.”distrutto la centrale.”
ATTACCO TERRORISTICOATTACCO TERRORISTICO
1. Tipo attacco:1. Tipo attacco: EsplosioneEsplosione
2. Data:2. Data: 19 Marzo19 Marzo
3. Luogo:3. Luogo: San SalvadorSan Salvador
4. Attentatore:4. Attentatore: commando guerrillacommando guerrilla
5. Obiettivo fisico:5. Obiettivo fisico: centrale elettricacentrale elettrica
6. Obiettivo umano:6. Obiettivo umano: - -
7. Effetti su 5:7. Effetti su 5: distruttadistrutta
8. Effetti su 6:8. Effetti su 6: nessuna vittimanessuna vittima
9. Arma usata:9. Arma usata: bombabomba
1212
IE: la competizioneIE: la competizione
MUC: Message Understanding ConferenceMUC: Message Understanding Conference
MUC fornisce:MUC fornisce: Corpus di testi di addestramentoCorpus di testi di addestramento Specifica del task di IESpecifica del task di IE Specifica del formato di outputSpecifica del formato di output Termine di confronto: risposte fornite dall’uomo Termine di confronto: risposte fornite dall’uomo
nello stesso formato di outputnello stesso formato di output Valutazione: blind test per tutti i partecipantiValutazione: blind test per tutti i partecipanti
1313
MUC: i taskMUC: i task
MUC-1 (1987): tactical naval operations reports (12 MUC-1 (1987): tactical naval operations reports (12 messaggi di training, 2 testing)messaggi di training, 2 testing)
MUC-2 (1989): stesso tema (105 training, 25 testing)MUC-2 (1989): stesso tema (105 training, 25 testing) MUC-3 (1991): attacchi terroristici nei paesi latini MUC-3 (1991): attacchi terroristici nei paesi latini
(1300 training, 3x100 testing)(1300 training, 3x100 testing) MUC-4 (1992): come MUC-3 (cambiano i task, cioè i MUC-4 (1992): come MUC-3 (cambiano i task, cioè i
template)template) MUC-5 (1993): news su joint-ventures e MUC-5 (1993): news su joint-ventures e
microelettronica (2 lingue, inglese e giapponese)microelettronica (2 lingue, inglese e giapponese) MUC-6 (1995): news su assunzioni/licenziamenti di MUC-6 (1995): news su assunzioni/licenziamenti di
managers (aggiunta task)managers (aggiunta task) MUC-7 (1998): lanci di veicoli spaziali (aggiunta task)MUC-7 (1998): lanci di veicoli spaziali (aggiunta task)
1414
IE vs. IRIE vs. IR
Hanno diversi obiettivi:Hanno diversi obiettivi:
IR: data una base documentale il sistema cerca di IR: data una base documentale il sistema cerca di selezionare un subset di documenti rilevanti ad una certa selezionare un subset di documenti rilevanti ad una certa query (set di parole chiave) ricevuta come input. L’utente query (set di parole chiave) ricevuta come input. L’utente umano navigherà la lista di documenti e cercherà umano navigherà la lista di documenti e cercherà l’informazione che più gli interessa.l’informazione che più gli interessa.
IE: data una selezione di documenti e dato un formato di IE: data una selezione di documenti e dato un formato di risposta, il sistema cerca di estrarre in modo strutturato risposta, il sistema cerca di estrarre in modo strutturato l’informazione rilevante. l’informazione rilevante.
IE e IR sono tecnologie complementari!IE e IR sono tecnologie complementari!
1515
IE vs. Full Text UnderstandingIE vs. Full Text Understanding
IE: IE: solo un sottoinsieme del testo è rilevantesolo un sottoinsieme del testo è rilevante la rappresentazione del target è predefinita, semplice e la rappresentazione del target è predefinita, semplice e
rigidarigida Interessa solo ciò che un testo denota, non gli scopi Interessa solo ciò che un testo denota, non gli scopi
dell’autore (connotazione, pragmatica).dell’autore (connotazione, pragmatica). E’ possibile definire delle metriche di valutazione.E’ possibile definire delle metriche di valutazione.
Text Understanding:Text Understanding: Interessa il senso di tutto il testoInteressa il senso di tutto il testo Il target è dato dalla capacità di rispondere ha domande Il target è dato dalla capacità di rispondere ha domande
sul testo.sul testo. E’ molto difficile stabilire metriche di valutazione.E’ molto difficile stabilire metriche di valutazione.
1616
IE: metriche di valutazioneIE: metriche di valutazione
Le risposte corrette sono chiamate “Le risposte corrette sono chiamate “chiavichiavi”. Sono i Template ”. Sono i Template riempiti a mano correttamente.riempiti a mano correttamente.
La valutazione delle risposte viene fatta confrontando le La valutazione delle risposte viene fatta confrontando le risposte del sistema con le chiavi.risposte del sistema con le chiavi.
Simile all’Information Retrieval:Simile all’Information Retrieval:
Risposte
Corrette
Risposte
Fornite
Possibili
Risposte
fornite & corrette
Non fornite & corrette
fornite & non corrette
Non fornite & non corrette
Fornite Non fornite
corr
ette
Non
cor
rett
e
1717
IE: metriche di valutazioneIE: metriche di valutazione
Precision e RecallPrecision e Recall Precision = # risposte corrette / # risposte fornitePrecision = # risposte corrette / # risposte fornite Recall = # risposte corrette / # possibili risposte corretteRecall = # risposte corrette / # possibili risposte corrette
10
1
Recall
Pre
cisi
on
1818
IE: metriche di valutazioneIE: metriche di valutazione
F-measureF-measure: la media armonica tra precision e recall.: la media armonica tra precision e recall.
F = 2PR / P+RF = 2PR / P+R
Oppure la media parametrizzata, che permette di Oppure la media parametrizzata, che permette di scegliere di dare più importanza a P o ad R:scegliere di dare più importanza a P o ad R:
0
1N
ii
NMA
x
2 21 1
PRF
P RP R
2
2
( 1)
( )
PRF
P R
= 1: P e R pesano in modo uguale. > 1: La Recall è più importante. < 1: La Precision è più importante. = 0: Conta solo la Precision
1919
IE: applicazioniIE: applicazioni
Supporto per DATABASE:Supporto per DATABASE: Costruzione automatica a partire da testoCostruzione automatica a partire da testo
Supporto per INFORMATION RETRIEVAL:Supporto per INFORMATION RETRIEVAL: Post-Filter di alta precisione per sistemi IRPost-Filter di alta precisione per sistemi IR Classificazione testoClassificazione testo Indicizzazione NLIndicizzazione NL
Supporto per TEXT SUMMARIZATION:Supporto per TEXT SUMMARIZATION: Highlighting / ClippingHighlighting / Clipping Generazione di testo NL a partire da una Generazione di testo NL a partire da una
rappresentazione formale.rappresentazione formale.
2020
IE: diversi subtasksIE: diversi subtasks
Named Entity task (NE) Named Entity task (NE) Marcare nel testo le stringhe che rappresentano: persone, Marcare nel testo le stringhe che rappresentano: persone,
organizzazioni, luoghi, date, valori monetari.organizzazioni, luoghi, date, valori monetari.
Template Element Task (TE)Template Element Task (TE) Estrarre l’informazione rilevante associata ai Named Entities Estrarre l’informazione rilevante associata ai Named Entities
(persone, luoghi, etc…).(persone, luoghi, etc…).
Template Relation Task (TR)Template Relation Task (TR) Estrarre l’info sulle relazioni tra gli elementi del Template ottenuti Estrarre l’info sulle relazioni tra gli elementi del Template ottenuti
con NE e TE.con NE e TE.
Scenario Template Task (ST)Scenario Template Task (ST) Come TR, ma la scelta del template (slot da riempire) è determinata Come TR, ma la scelta del template (slot da riempire) è determinata
dal riconoscimento di elementi rilevanti ad un certo argomento.dal riconoscimento di elementi rilevanti ad un certo argomento.
Coreference Task (CO)Coreference Task (CO) Catturare l’informazione sulle coreferenze legati agli elementi Catturare l’informazione sulle coreferenze legati agli elementi
marcati con TE e NE.marcati con TE e NE.
2121
IE: diversi subtasks (esempi)IE: diversi subtasks (esempi)
““L’innovativo missile è stato lanciato Giovedì. E’ stato L’innovativo missile è stato lanciato Giovedì. E’ stato progettato da John Hoakney che lo ha chiamato “Big Red”. progettato da John Hoakney che lo ha chiamato “Big Red”. Dr. Hoakney fa parte dello staff della Rockets Inc.”Dr. Hoakney fa parte dello staff della Rockets Inc.”
NE: “missile”, “Giovedì”, “Dr. Hoakney”, “Rockets Inc.” NE: “missile”, “Giovedì”, “Dr. Hoakney”, “Rockets Inc.”
CO: missile CO: missile “lo”, “Big Red” Dr. Hoakney “lo”, “Big Red” Dr. Hoakney “John “John Hoakney”Hoakney”
TE: missile TE: missile innovativo, lanciato Giovedì,… innovativo, lanciato Giovedì,…
TR: TR: “Dr. Hoakney” LAVORA PER “Rockets Inc.”“Dr. Hoakney” LAVORA PER “Rockets Inc.”
ST (aerospazio): missile ST (aerospazio): missile lanciato Giovedì / lanciato Giovedì / progettato da Dr. Hoakney per conto della progettato da Dr. Hoakney per conto della Rockets Inc.Rockets Inc.
2222
IE: risultati nei subtasksIE: risultati nei subtasks
TaskTask PrecisionPrecision RecallRecall FF Human-FHuman-F
NENE 9595 9292 93.493.4 9898
TETE 8787 8686 86.886.8 --
TRTR 8686 6767 75.675.6 --
STST 6565 4242 50.850.8 8080
COCO 6969 5656 61.861.8 --
MUC-7 (1998)MUC-7 (1998)
2323
IE: 2 approcciIE: 2 approcci
““Knowledge Engineering” Knowledge Engineering” (“Sistemi basati su regole”)(“Sistemi basati su regole”)
C’è un esperto in IE e in linguistica che definisce “a C’è un esperto in IE e in linguistica che definisce “a mano” le grammatiche del sistemamano” le grammatiche del sistema
L’esperto classifica i “domain patterns” usando un L’esperto classifica i “domain patterns” usando un corpus.corpus.
La parametrizzazione (perfezionamento) del La parametrizzazione (perfezionamento) del sistema viene fatto “a mano”sistema viene fatto “a mano”
““Automatically Trainable Systems”Automatically Trainable Systems” Usa metodi statisticiUsa metodi statistici Apprende regole da dei corpora di addestramentoApprende regole da dei corpora di addestramento Apprende regole dall’interazione con l’utenteApprende regole dall’interazione con l’utente
2424
IE: 2 approcciIE: 2 approcci
““Knowledge Engineering” Knowledge Engineering” PRO: per un esperto creare un sistema PRO: per un esperto creare un sistema
funzionante è rapido / si possono ottenere grandi funzionante è rapido / si possono ottenere grandi performanceperformance
CON: c’è bisogno di expertise / se il problema CON: c’è bisogno di expertise / se il problema cambia c’è da ricostruire tutto il sistema / creare un cambia c’è da ricostruire tutto il sistema / creare un sistema ottimo è un processo lungosistema ottimo è un processo lungo
““Automatically Trainable Systems”Automatically Trainable Systems” PRO: alta portabilità tra domini diversi / non PRO: alta portabilità tra domini diversi / non
richiede la presenza di espertirichiede la presenza di esperti CON: richiede grandi quantità di datiCON: richiede grandi quantità di dati
2525
IE: architettura generaleIE: architettura generale
Il sistema individua dei “fatti” nel testo.Il sistema individua dei “fatti” nel testo.
Il sistema integra questi “fatti” con le Il sistema integra questi “fatti” con le proprie conoscenze per fare inferenze o proprie conoscenze per fare inferenze o mettere in relazione i “fatti” tra loromettere in relazione i “fatti” tra loro
Il sistema traduce l’informazione Il sistema traduce l’informazione generata nel formato di output.generata nel formato di output.
2626
IE: architettura generale 2IE: architettura generale 2
Format DetectionFormat Detection riconoscimento del formato e del layout del documentoriconoscimento del formato e del layout del documento
TokenizationTokenization si individuano le parole e le frasi grazie a spazi e punteggiatura.si individuano le parole e le frasi grazie a spazi e punteggiatura.
Morphological & Lexical AnalysisMorphological & Lexical Analysis Named Entities RecognitionNamed Entities Recognition Syntactic AnalysisSyntactic Analysis Coreference AnalysisCoreference Analysis Scenario pattern matchingScenario pattern matching Inferenze & Event MergingInferenze & Event Merging
2727
IE: TokenizationIE: Tokenization
E’ un task “facile”, ma può creare qualche E’ un task “facile”, ma può creare qualche problema.problema.
Il punto (the dot problem): Il punto (the dot problem): se interpretiamo un punto come fine di un periodo (full-stop), se interpretiamo un punto come fine di un periodo (full-stop),
sbagliamo quasi nel 10% dei casi.sbagliamo quasi nel 10% dei casi. se consideriamo ogni punto non seguito da spazio un non se consideriamo ogni punto non seguito da spazio un non
full-stop allora riduciamo l’errore al 6,5%full-stop allora riduciamo l’errore al 6,5% Con analisi delle strutture delle abbreviazioni: errore al 2,5%Con analisi delle strutture delle abbreviazioni: errore al 2,5%
Differente uso della punteggiatura nelle varie Differente uso della punteggiatura nelle varie lingue.lingue.
Differente rappresentazione di dateDifferente rappresentazione di date
2828
IE: Morphological AnalysisIE: Morphological Analysis
““Lexical Lookup” Lexical Lookup” Lista di forme (derivazioni di un lemma) di una lingua Lista di forme (derivazioni di un lemma) di una lingua
associate alle categorie morfologiche (es: SMS = sost. associate alle categorie morfologiche (es: SMS = sost. masc. sing. o AGFP = agg. fem. plu.)masc. sing. o AGFP = agg. fem. plu.)
in italiano: > 250000 forme “general purpouse”in italiano: > 250000 forme “general purpouse” Oltre al dizionario generale si usano liste domain Oltre al dizionario generale si usano liste domain
specific che però rischiano di creare ambiguitàspecific che però rischiano di creare ambiguità L’inglese ha una morfologia così povera che spesso L’inglese ha una morfologia così povera che spesso
vengono usate solo le liste.vengono usate solo le liste.
““Part Of Speech Tagging” (PoS Tagging)Part Of Speech Tagging” (PoS Tagging) Sistema che associa ad ogni parola di una frase una Sistema che associa ad ogni parola di una frase una
classe morfologica.classe morfologica.
2929
PoS Tagging 1PoS Tagging 1
Ci si basa su un corpus pre-taggato.Ci si basa su un corpus pre-taggato.
Metodo Triviale:Metodo Triviale:
Calcolare il tag più probabile per ogni parola nel corpus ed Calcolare il tag più probabile per ogni parola nel corpus ed usarlo per documenti successivi.usarlo per documenti successivi.
Se il termine è sconosciuto: tag = Nome Comune quando Se il termine è sconosciuto: tag = Nome Comune quando iniziale minuscola, tag = Nome Proprio altrimenti.iniziale minuscola, tag = Nome Proprio altrimenti.
Se il corpus è abbastanza grande questo metodo dà già Se il corpus è abbastanza grande questo metodo dà già buoni risultati (ca. 90%).buoni risultati (ca. 90%).
ES: corpus inglese con 1 milione parole taggate (40 tags), la ES: corpus inglese con 1 milione parole taggate (40 tags), la parola parola putput appare 41145 volte come V e 46 come N. appare 41145 volte come V e 46 come N.
P(V | “put”) = 41145/41199 = 0.999P(V | “put”) = 41145/41199 = 0.999 P(N | “put”) = 46/41199 = 0.001P(N | “put”) = 46/41199 = 0.001
3030
PoS Tagging 2PoS Tagging 2
Metodo Metodo Transformation-Based LearningTransformation-Based Learning
Si basa su quattro elementi:Si basa su quattro elementi: Metodo Triviale da corpus annotatoMetodo Triviale da corpus annotato Stima della error triple <tagStima della error triple <tagaa, tag, tagbb, % errore> su un , % errore> su un
altro corpus.altro corpus. Un set di possibili trasformazioni da fare da tagUn set di possibili trasformazioni da fare da taga a a a
tagtagb b per ridurre l’erroreper ridurre l’errore Fase di learning hill-climbing. Fase di learning hill-climbing.
3131
PoS Tagging 3PoS Tagging 3 Metodo Metodo Transformation-Based LearningTransformation-Based Learning
TransformationsTransformations Cambia il tag Cambia il tag aa con il tag con il tag bb quando:quando:
1.1. Parola prec. (succ.) ha tagParola prec. (succ.) ha tag zz
2.2. Parola due passi indietro (avanti) ha tag Parola due passi indietro (avanti) ha tag zz
3.3. Una delle due parole prec (succ.) ha tag Una delle due parole prec (succ.) ha tag zz
4.4. Una delle tre parole prec (succ.) ha tag Una delle tre parole prec (succ.) ha tag zz
5.5. Parola prec. ha tagParola prec. ha tag zz e succ. ha tag e succ. ha tag ww
6.6. Parola prec. ha tagParola prec. ha tag zz e due passi indietro ha tag e due passi indietro ha tag ww
7.7. Parola prec (succ.) = Parola prec (succ.) = WordWord
Learning: Learning: Per ogni coppia di tag prova ogni trasformazione Per ogni coppia di tag prova ogni trasformazione tt Quantifica gli erroriQuantifica gli errori Scegli la trasformazione che riduce di più l’erroreScegli la trasformazione che riduce di più l’errore
3232
PoS Tagging 4PoS Tagging 4 Metodo Metodo Transformation-Based LearningTransformation-Based Learning
Per le parole sconosciute si applicano trasformazioni Per le parole sconosciute si applicano trasformazioni di tag basandosi sulle lettere dei prefissi e dei suffissi:di tag basandosi sulle lettere dei prefissi e dei suffissi:
Cambia il tag Cambia il tag aa della parola sconosciuta della parola sconosciuta WW con il tag con il tag bb
quando:quando:1.1. I primi (ultimi) 1,2,3,4 caratteri sono la lettera I primi (ultimi) 1,2,3,4 caratteri sono la lettera zz
2.2. Togliendo (aggiungendo) il suffisso (prefisso) si ottiene una Togliendo (aggiungendo) il suffisso (prefisso) si ottiene una parola notaparola nota
3.3. Etc..Etc..
Questo metodo riesce a taggare correttamente:Questo metodo riesce a taggare correttamente: 97.7 % 97.7 % parole noteparole note 82.2 % 82.2 % parole sconosciuteparole sconosciute 96 % 96 % totale paroletotale parole
3333
PoS Tagging 5PoS Tagging 5
Metodo Metodo NN-grams-grams
Sfrutta la teoria della probabilità con l’obiettivo di Sfrutta la teoria della probabilità con l’obiettivo di trovare la sequenza di tag trovare la sequenza di tag tt1,n1,n che massimizza la che massimizza la
probabilità probabilità P(tP(t1,n1,n|w|w1,n1,n))
Usa la Bayesian Rule applicata al testo:Usa la Bayesian Rule applicata al testo:
Si deve trovare la sequenza di tag che massimizza Si deve trovare la sequenza di tag che massimizza la posterior probability della sequenza di parole.la posterior probability della sequenza di parole.
1, 1, 1,, 1,
1,
( ) ( | )( | )
( )n n n
i n nn
P t P w tP t w
P w
3434
PoS Tagging 6PoS Tagging 6 Metodo Metodo NN-grams (-grams (N-wordsN-words))
Si considera una finestra di Si considera una finestra di NN parole. Tipicamente 3: parole. Tipicamente 3: trigrammi.trigrammi.
La probabilità di un tag dipende solo dai due tag La probabilità di un tag dipende solo dai due tag precedenti.precedenti.
La probabilità di avere una certa parola in una certa La probabilità di avere una certa parola in una certa posizione, dato un tag, è indipendente da ogni altro posizione, dato un tag, è indipendente da ogni altro fattore.fattore.
tt00 e t e tT+1T+1 sono i tag speciali d’inizio e fine frase. sono i tag speciali d’inizio e fine frase.
1
1 2 1... 1
arg max ( | , ) ( | ) | ( | )n
T
i i i i i T Tt t i
P t t t P w t P t t
3535
PoS Tagging 7PoS Tagging 7
Metodo Metodo NN-grams-grams
Per migliorare le prestazioni si possono combinare uni-grammi, Per migliorare le prestazioni si possono combinare uni-grammi, bi-grammi e tri-grammi: bi-grammi e tri-grammi:
Il metodo usa come priors:Il metodo usa come priors: delle parole note e dei tag le frequenze ottenute in un delle parole note e dei tag le frequenze ottenute in un
corpuscorpus delle parole sconosciute: osservando la frequenza delle delle parole sconosciute: osservando la frequenza delle
lettere nei suffissi e nei prefissilettere nei suffissi e nei prefissi
Performance:Performance: 95.7 - 97.7 % 95.7 - 97.7 % parole noteparole note 61.2 - 89 % 61.2 - 89 % parole sconosciuteparole sconosciute 78.1 - 96.7% 78.1 - 96.7% totale paroletotale parole
3 1 2 1 3 2 3 2 3 3 1 2( | , ) '( ) '( | ) '( | , )P t t t P t P t t P t t t
3636
IE: Named Entity RecognitionIE: Named Entity Recognition
E’ uno dei problemi più affrontati:E’ uno dei problemi più affrontati: perché i nomi propri sono rilevanti da un punto di perché i nomi propri sono rilevanti da un punto di
vista informativo e quindi semplifica il text vista informativo e quindi semplifica il text processing successivo (sono spesso i valori da processing successivo (sono spesso i valori da inserire nelle slot del template di IE)inserire nelle slot del template di IE)
Ha già dato risultati “accettabili”:Ha già dato risultati “accettabili”:
Gestire i nomi propri solo con liste è Gestire i nomi propri solo con liste è impossibile:impossibile:
andrebbero aggiornate continuamenteandrebbero aggiornate continuamente appartengono a troppi domini diversiappartengono a troppi domini diversi le ambiguità sarebbero troppele ambiguità sarebbero troppe
3737
I nomi propri vanno riconosciuti e inseriti in delle I nomi propri vanno riconosciuti e inseriti in delle categorie.categorie.
3 categorie universalmente richieste:3 categorie universalmente richieste: Persone, Luoghi, OrganizzazioniPersone, Luoghi, Organizzazioni
Altre categorie comuni:Altre categorie comuni: Date, Misure (denaro, peso, etc.), IndirizziDate, Misure (denaro, peso, etc.), Indirizzi
Categorie domain-specific:Categorie domain-specific: Nomi farmacologici, Nomi di barche, CitazioniNomi farmacologici, Nomi di barche, Citazioni
<name type=“person”> Bill Gates </name> è <name type=“person”> Bill Gates </name> è proprietaro della <name type=“company”> proprietaro della <name type=“company”> Microsoft </name>.Microsoft </name>.
IE: Named Entity Rec. 2IE: Named Entity Rec. 2
3838
IE: Named Entity Rec. 3IE: Named Entity Rec. 3
3 approcci:3 approcci: LookUp List (Gazetteers)LookUp List (Gazetteers) RULE-BASED: pattern matchingRULE-BASED: pattern matching MACHINE-TRAINABLE: spesso HMMMACHINE-TRAINABLE: spesso HMM
Gazetteers Gazetteers Liste di nomi, associati a categorie (organizzate Liste di nomi, associati a categorie (organizzate
gerarchicamente) + Macchine a Stati Finiti.gerarchicamente) + Macchine a Stati Finiti. Per esempio:Per esempio:
lista_cittàlista_città
LuogoLuogo CittàCittà
Roma, Parigi, etc…Roma, Parigi, etc…
lista_valutelista_valute
MisuraMisura DenaroDenaro Post_quantitàPost_quantità
Euro, Euri, Dollari, Sterline, etc… Euro, Euri, Dollari, Sterline, etc…
GATEPossiede oltre60000 ingressi
Organizzati in 80 classi
3939
IE: Named Entity Rec. 4IE: Named Entity Rec. 4
PATTERN MATCHINGPATTERN MATCHING
L’obiettivo è identificare i NE grazie ad una riconosciuta L’obiettivo è identificare i NE grazie ad una riconosciuta struttura interna.struttura interna.
Si usano le espressioni regolari che operano sui caratteri Si usano le espressioni regolari che operano sui caratteri (feature ortografiche, quali le maiuscole, la punteggiatura), (feature ortografiche, quali le maiuscole, la punteggiatura), sulle categorie di PoS, categorie NE riconosciute grazie sulle categorie di PoS, categorie NE riconosciute grazie alle Gazetteers o persino categorie sintattiche.alle Gazetteers o persino categorie sintattiche.
Word + Word + {City, Town} {City, Town} Word = location:city Word = location:city
es: Cape City, Campbell Town, NY City, etc…es: Cape City, Campbell Town, NY City, etc…
Word + Word + {Street, Road, Avenue, Boulevard} {Street, Road, Avenue, Boulevard}
Word = location:streetWord = location:street
es: Portobello Road, Fifth Avenue, etc…es: Portobello Road, Fifth Avenue, etc…
4040
IE: Named Entity Rec. 5IE: Named Entity Rec. 5
PATTERN MATCHINGPATTERN MATCHING
Si considera anche il contesto (shallow parsing):Si considera anche il contesto (shallow parsing):
““to the” to the” COMPASS “of” Word COMPASS “of” Word Word=location:city Word=location:cityes: to the North of Londones: to the North of LondonWord “is a” (ADJ)? GeoWordWord “is a” (ADJ)? GeoWord Word=location Word=locationes: London is a very cold cityes: London is a very cold city
Problemi:Problemi: Ambiguità semantiche (John F. Kennedy = luogo/persona, Ambiguità semantiche (John F. Kennedy = luogo/persona,
Philip Morris = compagnia/persona)Philip Morris = compagnia/persona) Ambiguita sintattica (General Motors = titolo militare?)Ambiguita sintattica (General Motors = titolo militare?) In mancanza delle feature ortografiche (es: nello speech In mancanza delle feature ortografiche (es: nello speech
recognition non si riportano le maiuscole!)recognition non si riportano le maiuscole!)
4141
IE: Named Entity Rec. 6IE: Named Entity Rec. 6
MACHINE TRAINABLEMACHINE TRAINABLE
La tecnologia che ha dato i risultati migliori è quella La tecnologia che ha dato i risultati migliori è quella degli Hidden Markov Models (HMM)degli Hidden Markov Models (HMM)
HMM: modello probabilistico a stati nascosti che tratta HMM: modello probabilistico a stati nascosti che tratta sequenze di eventi (in questo caso, sequenze di sequenze di eventi (in questo caso, sequenze di parole nel testo).parole nel testo).
Start EndCompany
Not a name
Person0,12
0,88
0,70,4
0,19
0,81
4242
IE: Named Entity Rec. 7IE: Named Entity Rec. 7
HMM: macchina a stati finiti.HMM: macchina a stati finiti.
La macchina passa da uno stato all’altro:La macchina passa da uno stato all’altro:
In base all’input (es: parola)In base all’input (es: parola) In base allo stato precedenteIn base allo stato precedente In base a delle probabilità di transizioneIn base a delle probabilità di transizione
A partire da un corpus annotato si estraggono le A partire da un corpus annotato si estraggono le probabilità di transizione probabilità di transizione P(S P(Sjj | S | Sj-1j-1, W, Wjj))
In runtime: viene calcolata la sequenza di stati più In runtime: viene calcolata la sequenza di stati più probabile (probabile (Maximum LikelihoodMaximum Likelihood) per una sequenza di ) per una sequenza di parole (Algoritmo di Viterbi). I simboli associati ad parole (Algoritmo di Viterbi). I simboli associati ad ogni parola rappresentano la classe NE. ogni parola rappresentano la classe NE.
4343
IE: Named Entity Rec. 8IE: Named Entity Rec. 8
Prestazioni:Prestazioni: Metodi Rule-Based:Metodi Rule-Based:
• MUC-6: F=96.4%MUC-6: F=96.4%
• MUC-7: F=93.7%MUC-7: F=93.7%
• Speech: F=90.3%Speech: F=90.3%
Metodi HMM-Based:Metodi HMM-Based:• MUC-6: F=93%MUC-6: F=93%
• MUC-7: F=90.4%MUC-7: F=90.4%
• Speech: F=90.6%Speech: F=90.6%
PROS & CONS:PROS & CONS:
RULE-BASED: facile da sviluppare, ma lungo trial&error sui RULE-BASED: facile da sviluppare, ma lungo trial&error sui corpora. Estremamente veloce per CPU. Prestazioni molto corpora. Estremamente veloce per CPU. Prestazioni molto buone su testo “standard”.buone su testo “standard”.
HMM: ha bisogno di moltissimi dati (corpus con 1,2 milioni di HMM: ha bisogno di moltissimi dati (corpus con 1,2 milioni di parole per ottenere il 90%, oltre non va), spesso non disponibili. parole per ottenere il 90%, oltre non va), spesso non disponibili. E’ un algoritmo generale e portabile.E’ un algoritmo generale e portabile.
4444
IE: Named Entity Rec. 9IE: Named Entity Rec. 9
Un esempio reale: ANNIEUn esempio reale: ANNIE
(appartiene al GATE (appartiene al GATE project).project).
http://gate.ac.uk/annie/http://gate.ac.uk/annie/
DEMO ONLINEDEMO ONLINE
prova fatta:prova fatta:
NYTimesNYTimes: : raccoltaraccolta firmefirme per per salvaresalvare Kodachrome Kodachrome
4545
IE: Named Entity Rec. 10IE: Named Entity Rec. 10
ANNIE: “A Nearly New Information Extraction system”ANNIE: “A Nearly New Information Extraction system”
4646
IE: Syntactic AnalysisIE: Syntactic Analysis
Per poter affrontare gli altri problemi dell’IEPer poter affrontare gli altri problemi dell’IE capire le proprietà delle entità riconosciutecapire le proprietà delle entità riconosciute mettere in relazione le entità tra loro, etc.. mettere in relazione le entità tra loro, etc..
è necessario capire le relazioni sintattiche tra gli elementi del è necessario capire le relazioni sintattiche tra gli elementi del testo.testo.
Il problema può essere affrontato in 2 modi:Il problema può essere affrontato in 2 modi: FULL SYNTAX PARSING: analisi sintattica completaFULL SYNTAX PARSING: analisi sintattica completa SHALLOW PARSING: analisi sintattica superficialeSHALLOW PARSING: analisi sintattica superficiale
Il secondo approccio è decisamente migliore, perché:Il secondo approccio è decisamente migliore, perché: Il Full Parsing è molto lento (e nell’IE, dovendo estrarre Il Full Parsing è molto lento (e nell’IE, dovendo estrarre
l’informazione da un numero altissimo di documenti, non c’è tempo).l’informazione da un numero altissimo di documenti, non c’è tempo). Il Full Parsing fa comunque molti erroriIl Full Parsing fa comunque molti errori L’informazione essenziale risiede in poche e basilari porzioni L’informazione essenziale risiede in poche e basilari porzioni
dell’albero sintattico. dell’albero sintattico.
4747
IE: Syntactic Analysis 2IE: Syntactic Analysis 2
FULL PARSING VS. SHALLOW PARSING
ES: “He reckons the current account deficit will narrow to only $ 1.8 billion in September.”
Shallow parsing (text chuncking):[NG He ] [VG reckons ] [NG the current account deficit ] [VG will narrow ] [PP to ] [NG only $ 1.8 billion ] [PP in ] [NG September]
Full Parsing:[NS [N He]][VS [V reckons]
[NS [N the current account deficit]][VS [V will narrow]
[M1 to only $ 1.8 billion][M2 in September]]]
4848
IE: Syntactic Analysis 3IE: Syntactic Analysis 3
Shallow Parsing
Intuizione linguistica: l’uomo legge raggruppando parole
“A typical chunk consists of a content word surrounded by a constellation of function words, matching a fixed template.”
By contrast, the relationship between chunks is mediated more by lexical selection than by rigid templates.” (Abney 1991).
Il chunking avviene in 3 fasi: Word Identification (fatto dal POS-Tagging) Chunk Identification (rule-based) Attachment of Chunks (rule-based)
4949
IE: Syntactic Analysis 4IE: Syntactic Analysis 4 Shallow Parsing
ES: “The effort to establish such a conclusion of course must have two foci ...””
Word Identification:[D the] [N effort] [P to] [V establish] [P such] [D a] [N conclusion] [Adv of course] [V must] [V have] [Num] [N foci]
Chunk Identification:[NG(D+N) the effort ] [VG(P+V) to establish] [DP(P+D+N) such a conclusion] [VG(ADV+V+V) of course must have] [NG(Num+N) two foci]
Chunk Identification:NG: [the effort] VG: [[to establish] [such a conclusion]] VG: [[of course must have] [two foci]]
5050
IE: CoreferenceIE: Coreference Task estremamente difficile: coinvolge sintassi e
semantica.
Ci sono tipi diversi di coreferenza: pronomi, parafrasi, sigle, etc…
ES:General Motors Corp.General Motors Corp. announced a major management shakeup. GM said its CEO had resigned. The big automaker is attempting to regain market share. It will announce…
L’algoritmo generalmente adottato per risolvere le anafore segue due step:
Marcamento di ogni espressione candidata Consistency check all’indietro dell’anafora
5151
IE: Coreference 2IE: Coreference 2 STEP 1: marcamento espressioni candidate
si selezionano le parti nominali del testo (NG)General Motors Corp.General Motors Corp. announced a major management shakeup. GM said its CEO had resigned. The big automaker is attempting to regain market share. It will announce…
vengono marcate usando: categoria NE, numero (sing. vs. plu.), genere (masc. vs. fem.), ruolo sintattico.
STEP 2: consistency check all’indietro determina tutti i possibili antecedenti (fino ad una distanza
predefinita, variabile per pronomi, nomi, etc…) elimina gli antecedenti non correlati: semanticamente usando “is
a” hierarchy, categoria NE, etc.. ordina antecedenti per vicinanza (intra-frase, inter-frase, inter-
paragrafo, inter-documento) se x è correlato a y la coreferenza sarà y x
5252
IE: Inference and Event MergingIE: Inference and Event Merging ES: “Sam Schwartz retired as executive vice president of the famous hot
dog manufacturer, Hupplewhite Inc. He will be succeded by Harry Himmelfarb.””
Obiettivo: Obiettivo:
L’informazione necessaria è sparsa su più frasi e quindi deve essere combinata prima di generare il template degli eventi
L’informazione è spesso anche implicita.L’informazione è spesso anche implicita.
Evento:Evento: leave jobleave job
Persona:Persona: Sam Schwartz
Posizione:Posizione: executive vice president
Compagnia:Compagnia: Hupplewhite Inc
Evento:Evento: start jobstart job
Persona:Persona: Harry Himmelfarb
Posizione:Posizione: executive vice president
Compagnia:Compagnia: Hupplewhite Inc
5353
IE: Inference & Event Merg. 2IE: Inference & Event Merg. 2 ES: “Sam Schwartz retired as executive vice president of the famous hot
dog manufacturer, Hupplewhite Inc. He will be succeded by Harry Himmelfarb.””
Per ottenere la descrizione ad eventi dell’esempio si sfrutta:Per ottenere la descrizione ad eventi dell’esempio si sfrutta: l’informazione sui Named Entities (i soggetti coinvolti l’informazione sui Named Entities (i soggetti coinvolti
nell’evento sono NE)nell’evento sono NE) l’analisi morfo-sintattica sul testo (i verbi regolano le relazioni l’analisi morfo-sintattica sul testo (i verbi regolano le relazioni
tra NE all’interno degli eventi)tra NE all’interno degli eventi) la risoluzione delle coreferenzela risoluzione delle coreferenze sistemi inferenzialisistemi inferenziali
In particolare nell’esempio si deve poter determinare In particolare nell’esempio si deve poter determinare cosa implica il verbo “succeed”.cosa implica il verbo “succeed”.
5454
IE: Inference & Event Merg. 3IE: Inference & Event Merg. 3 ES: “Sam Schwartz retired as executive vice president of the famous hot
dog manufacturer, Hupplewhite Inc. He will be succeded by Harry Himmelfarb.””
Inferenze possibili:Inferenze possibili: ““Sam was president. He was succeeded by Harry” Sam was president. He was succeeded by Harry” Harry Harry
will become presidentwill become president ““Sam will be president, he succeeds Harry” Sam will be president, he succeeds Harry” Harry was Harry was
president.president.
Per codificare le inferenze in un dominio si può usare un Per codificare le inferenze in un dominio si può usare un sistema di produzioni (es: Prolog):sistema di produzioni (es: Prolog):
leave-job(X-person, Y-job) & succeed(Z-person, X-person) leave-job(X-person, Y-job) & succeed(Z-person, X-person) start-job(Z-person,Y-job)start-job(Z-person,Y-job)
start-job(X-person, Y-job) & succeed(X-person, Z-person) start-job(X-person, Y-job) & succeed(X-person, Z-person) leave-job(Z-person,Y-job)leave-job(Z-person,Y-job)
Top Related