54
Basi di Dati Multimediali - Basi di Dati Multimediali - Giugno 2005 Giugno 2005 Marco Ernandes: [email protected] Marco Ernandes: [email protected] Text Processing Text Processing Information Information Extraction Extraction

Text Processing Information Extraction

Embed Size (px)

DESCRIPTION

Text Processing Information Extraction. Basi di Dati Multimediali - Giugno 2005 Marco Ernandes: [email protected]. Lo scenario. Il text-processing raccoglie un grande insieme di problemi, tecniche e obiettivi. Sfrutta le teorie sviluppate nelle discipline: Computer Science Linguistica - PowerPoint PPT Presentation

Citation preview

Page 1: Text Processing Information Extraction

Basi di Dati Multimediali - Giugno 2005Basi di Dati Multimediali - Giugno 2005Marco Ernandes: [email protected] Ernandes: [email protected]

Text ProcessingText Processing

Information ExtractionInformation Extraction

Page 2: Text Processing Information 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

Page 3: Text Processing Information Extraction

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”.

Page 4: Text Processing Information Extraction

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…

Page 5: Text Processing Information Extraction

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.

Page 6: Text Processing Information Extraction

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.

Page 7: Text Processing Information Extraction

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

Page 8: Text Processing Information Extraction

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.

Page 9: Text Processing Information Extraction

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.

Page 10: Text Processing Information Extraction

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.

Page 11: Text Processing Information Extraction

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

Page 12: Text Processing Information Extraction

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

Page 13: Text Processing Information Extraction

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)

Page 14: Text Processing Information Extraction

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!

Page 15: Text Processing Information Extraction

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.

Page 16: Text Processing Information Extraction

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

Page 17: Text Processing Information Extraction

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

Page 18: Text Processing Information Extraction

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

Page 19: Text Processing Information Extraction

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.

Page 20: Text Processing Information Extraction

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.

Page 21: Text Processing Information Extraction

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.

Page 22: Text Processing Information Extraction

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)

Page 23: Text Processing Information Extraction

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

Page 24: Text Processing Information Extraction

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

Page 25: Text Processing Information Extraction

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.

Page 26: Text Processing Information Extraction

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

Page 27: Text Processing Information Extraction

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

Page 28: Text Processing Information Extraction

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.

Page 29: Text Processing Information Extraction

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

Page 30: Text Processing Information Extraction

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.

Page 31: Text Processing Information Extraction

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

Page 32: Text Processing Information Extraction

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

Page 33: Text Processing Information Extraction

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

Page 34: Text Processing Information Extraction

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

Page 35: Text Processing Information Extraction

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

Page 36: Text Processing Information Extraction

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

Page 37: Text Processing Information Extraction

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

Page 38: Text Processing Information Extraction

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

Page 39: Text Processing Information Extraction

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…

Page 40: Text Processing Information Extraction

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!)

Page 41: Text Processing Information Extraction

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

Page 42: Text Processing Information Extraction

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.

Page 43: Text Processing Information Extraction

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.

Page 44: Text Processing Information Extraction

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

Page 45: Text Processing Information Extraction

4545

IE: Named Entity Rec. 10IE: Named Entity Rec. 10

ANNIE: “A Nearly New Information Extraction system”ANNIE: “A Nearly New Information Extraction system”

Page 46: Text Processing Information Extraction

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.

Page 47: Text Processing Information Extraction

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]]]

Page 48: Text Processing Information Extraction

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)

Page 49: Text Processing Information Extraction

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]]

Page 50: Text Processing Information Extraction

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

Page 51: Text Processing Information Extraction

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

Page 52: Text Processing Information Extraction

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

Page 53: Text Processing Information Extraction

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”.

Page 54: Text Processing Information Extraction

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)